Showing:

Annotations
Attributes
Diagrams
Facets
Instances
Model
Properties
Source
Used by
Main schema SDCFormDesign.xsd
Namespace urn:ihe:qrph:sdc:2016
Properties
attribute form default unqualified
element form default qualified
version 3.0
Element FormDesign
Namespace urn:ihe:qrph:sdc:2016
Annotations
Root element of this Schema
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#FormDesignType_formTitle SDCFormDesign_xsd.tmp#FormDesignType_filename SDCFormDesign_xsd.tmp#FormDesignType_basedOnURI SDCFormDesign_xsd.tmp#FormDesignType_lineage SDCFormDesign_xsd.tmp#FormDesignType_version SDCFormDesign_xsd.tmp#FormDesignType_fullURI SDCFormDesign_xsd.tmp#FormDesignType_prevVersionURI SDCFormDesign_xsd.tmp#FormDesignType_formInstanceURI SDCFormDesign_xsd.tmp#FormDesignType_formInstanceVersionURI SDCFormDesign_xsd.tmp#FormDesignType_formPreviousInstanceVersionURI SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#FormDesignType_BeforeLoadForm SDCFormDesign_xsd.tmp#FormDesignType_BeforeLoadData SDCFormDesign_xsd.tmp#FormDesignType_BeforeShowForm SDCFormDesign_xsd.tmp#FormDesignType_BeforeDataSubmit SDCFormDesign_xsd.tmp#FormDesignType_BeforeCloseForm SDCFormDesign_xsd.tmp#FormDesignType_OnEvent SDCFormDesign_xsd.tmp#FormDesignType_Header SDCFormDesign_xsd.tmp#FormDesignType_Body SDCFormDesign_xsd.tmp#FormDesignType_Footer SDCFormDesign_xsd.tmp#FormDesignType_Rules SDCFormDesign_xsd.tmp#FormDesignType
Type FormDesignType
Type hierarchy
Properties
content complex
Model
Children BeforeCloseForm, BeforeDataSubmit, BeforeLoadData, BeforeLoadForm, BeforeShowForm, Body, Comment, Extension, Footer, Header, OnEvent, Property, Rules
Instance
<FormDesign basedOnURI="" baseURI="" filename="" formInstanceURI="" formInstanceVersionURI="" formPreviousInstanceVersionURI="" formTitle="" fullURI="" ID="" lineage="" name="" order="" prevVersionURI="" responseStatusEnum="" responseTypeEnum="" styleClass="" type="" version="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <BeforeLoadForm allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</BeforeLoadForm>
  <BeforeLoadData allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</BeforeLoadData>
  <BeforeShowForm allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</BeforeShowForm>
  <BeforeDataSubmit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</BeforeDataSubmit>
  <BeforeCloseForm allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</BeforeCloseForm>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
  <Header baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</Header>
  <Body baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{1,1}</Body>
  <Footer baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</Footer>
  <Rules name="" order="" styleClass="" type="">{0,1}</Rules>
</FormDesign>
Attributes
QName Type Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
basedOnURI URI_Atype optional
NEW: URI used to identify the form that that this FormDesign is based upon.  In most cases, this should be a standard form that is modified and/or extended by the current FormDesign.   
                     
The current template reuses the basedOn IDs whenever the question/answer/semantic context is identical to the original.
                     
5/11/17:  Relying on data element mapping may be a better and more flexible approach than @basedOnURI. In this way, forms could compare data elements to determine if they contain semantic matches, and this is supported better with a more robust code map section.
filename xs:string optional
NEW: filename to use when the current FormDesign instance is saved as a file.  
For forms containing responses, the filename may include the formInstanceVersionURI, 
but the naming convention may be use-case-specific.
formInstanceURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a form.  Used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI does not change for each edit session of a form instance.
formInstanceVersionURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a form's saved responses.  It is used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit/save session of a form instance.  It may be e.g., a new GUID, or a repeat of the formInstanceID followed by a version number.
formPreviousInstanceVersionURI URI_Atype optional
NEW: Unique URI used to identify the immediate previous instance of a form containing responses.  This is the @formInstanceVersionURI that represents the instance of the form that the user opened up before beginning a new cycle of edit/save.  This attribute is used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit session of a form instance.
formTitle xs:string optional
NEW: human readable title for display when choosing forms. Added 4/27/16
fullURI URI_Atype required
NEW: The full URI that uniquely identifies the current form.   It is created by concatenating @baseURI + lineage + version.  Each of the componenets is separated by a single forward slash.
lineage xs:string required
NEW: A text identifier that is used to group multiple versions of a single form.  The lineage is constant for all versions of a single kind of form.  

When appended to @baseURI, it can be used to retrieve all versions of one particular form.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
prevVersionURI URI_Atype optional
NEW: The full URI used to identify the form that is the immediate previous version of the current FormDesign
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
version xs:string required
NEW: @version contains the version text for the current form.  It is designed to be used in conjuction with @baseURI and @lineage.
Source
<xs:element name="FormDesign" type="FormDesignType">
  <xs:annotation>
    <xs:documentation>Root element of this Schema</xs:documentation>
  </xs:annotation>
</xs:element>
Element FormDesignType / BeforeLoadForm
Namespace urn:ihe:qrph:sdc:2016
Annotations
NEW:
This event is fired before the page is loaded into memory, and before stored form data is loaded.  It may be used, e.g., for authentication, to retrieve/prepare stored data, and/or to control form rendering according to user preferences.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType
Type EventType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<BeforeLoadForm allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</BeforeLoadForm>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="BeforeLoadForm" type="EventType">
  <xs:annotation>
    <xs:documentation>NEW: This event is fired before the page is loaded into memory, and before stored form data is loaded. It may be used, e.g., for authentication, to retrieve/prepare stored data, and/or to control form rendering according to user preferences.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ConditionalGroupActionType / Conditions
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#ConditionsSubActionsType_AttributeCondition SDCFormDesign_xsd.tmp#ConditionsSubActionsType_MultiSelections SDCFormDesign_xsd.tmp#ConditionsSubActionsType_IllegalSelectionSets SDCFormDesign_xsd.tmp#ConditionsSubActionsType_IllegalSelectionTest SDCFormDesign_xsd.tmp#ConditionsSubActionsType_ScriptCondition SDCFormDesign_xsd.tmp#ConditionsSubActionsType_Group SDCFormDesign_xsd.tmp#ConditionsSubActionsType
Type ConditionsSubActionsType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children AttributeCondition, Comment, Extension, Group, IllegalSelectionSets, IllegalSelectionTest, MultiSelections, Property, ScriptCondition
Instance
<Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <AttributeCondition allowNull="true" boolOp="AND" hasAssociatedValue="" hasAssociatedValueEQ="" hasAssociatedValueGT="" hasAssociatedValueGTE="" hasAssociatedValueLT="" hasAssociatedValueLTE="" hasResponse="" hasSelectionsExact="" hasSelectionsGTE="" hasSelectionsLTE="" hasStyleClass="" hasType="" hasValueEQ="" hasValueGT="" hasValueGTE="" hasValueLT="" hasValueLTE="" isActive="" isEnabled="" isReadOnly="" isRequired="" isSelected="" isVisible="" itemNames="" name="" not="" order="" styleClass="" supportdatesandIntervals="" type="" val="" validationMessage="">{0,unbounded}</AttributeCondition>
  <MultiSelections allowNull="true" boolOp="AND" name="" not="" order="" selectedItemSet="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</MultiSelections>
  <IllegalSelectionSets allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionSets>
  <IllegalSelectionTest allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" testItemName="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionTest>
  <ScriptCondition allowNull="true" code="" language="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ScriptCondition>
  <Group allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</Group>
</Conditions>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="Conditions" minOccurs="0" type="ConditionsSubActionsType">
</xs:element>
Element ConditionsSubActionsType / AttributeCondition
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#GetItemAttribValuesType_itemNames SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isSelected SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isActive SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasSelectionsGTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasSelectionsLTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasSelectionsExact SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasResponse SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isVisible SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isEnabled SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isRequired SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isReadOnly SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasType SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasStyleClass SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueEQ SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueLT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueLTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueGT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueGTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValue SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueEQ SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueLT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueLTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueGT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueGTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_supportdatesandIntervals SDCFormDesign_xsd.tmp#GetItemAttribValuesType_ScriptBoolFunc SDCFormDesign_xsd.tmp#GetItemAttribValuesType_CallBoolFunc SDCFormDesign_xsd.tmp#GetItemAttribValuesType_Group SDCFormDesign_xsd.tmp#GetItemAttribValuesType SDCFormDesign_xsd.tmp#ConditionsSubActionsType_ConditionsSubActionsType_AttributeCondition_Actions
Type extension of GetItemAttribValuesType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, CallBoolFunc, Comment, Extension, Group, Property, ScriptBoolFunc
Instance
<AttributeCondition allowNull="true" boolOp="AND" hasAssociatedValue="" hasAssociatedValueEQ="" hasAssociatedValueGT="" hasAssociatedValueGTE="" hasAssociatedValueLT="" hasAssociatedValueLTE="" hasResponse="" hasSelectionsExact="" hasSelectionsGTE="" hasSelectionsLTE="" hasStyleClass="" hasType="" hasValueEQ="" hasValueGT="" hasValueGTE="" hasValueLT="" hasValueLTE="" isActive="" isEnabled="" isReadOnly="" isRequired="" isSelected="" isVisible="" itemNames="" name="" not="" order="" styleClass="" supportdatesandIntervals="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <ScriptBoolFunc allowNull="true" code="" language="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ScriptBoolFunc>
  <CallBoolFunc allowNull="true" name="" order="" refName="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</CallBoolFunc>
  <Group allowNull="true" boolOp="AND" hasAssociatedValue="" hasAssociatedValueEQ="" hasAssociatedValueGT="" hasAssociatedValueGTE="" hasAssociatedValueLT="" hasAssociatedValueLTE="" hasResponse="" hasSelectionsExact="" hasSelectionsGTE="" hasSelectionsLTE="" hasStyleClass="" hasType="" hasValueEQ="" hasValueGT="" hasValueGTE="" hasValueLT="" hasValueLTE="" isActive="" isEnabled="" isReadOnly="" isRequired="" isSelected="" isVisible="" itemNames="" name="" not="" order="" styleClass="" supportdatesandIntervals="" type="" val="" validationMessage="">{1,unbounded}</Group>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</AttributeCondition>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
hasAssociatedValue xs:boolean optional
Applies only to ListItems. If the attribute has a value in it, this property returns true.  If it does not have a value, it returns false.
hasAssociatedValueEQ xs:decimal optional
hasAssociatedValueGT xs:decimal optional
hasAssociatedValueGTE xs:decimal optional
hasAssociatedValueLT xs:decimal optional
hasAssociatedValueLTE xs:decimal optional
hasResponse xs:boolean optional
Applies only to items that have Response Fields (Questions and ListItems).  If the ListItem or Question has a Response Field, and that field has a value in it, this property returns true.  If it does not have a value, it returns false.  If no Response Field is present, it retuns null and is not used for Boolean comparisons.
hasSelectionsExact xs:nonNegativeInteger optional
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items equals the entered value.
hasSelectionsGTE xs:nonNegativeInteger optional
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items equals or exceeds the entered value.
hasSelectionsLTE xs:nonNegativeInteger optional
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items is less than or equal to the entered value.
hasStyleClass xs:NMTOKENS optional
hasType xs:NMTOKENS optional
hasValueEQ xs:decimal optional
hasValueGT xs:decimal optional
hasValueGTE xs:decimal optional
hasValueLT xs:decimal optional
hasValueLTE xs:decimal optional
isActive xs:boolean optional
If visible and enabled are both true, then isActive is true.  Otherwise, it is false.
isEnabled xs:boolean optional
isReadOnly xs:boolean optional
isRequired xs:boolean optional
If the minCard value is greater than 0, then isRequired = "true"  
If the minCard = "0" then isRequired = "false"
isSelected xs:boolean optional
isVisible xs:boolean optional
itemNames xs:NMTOKENS required
Required name(s) of the item(s) (Section, Question, List Item) that contains the item properties used in the other attributes.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
supportdatesandIntervals optional
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="AttributeCondition" maxOccurs="unbounded" minOccurs="0">
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="GetItemAttribValuesType">
        <xs:sequence minOccurs="0">
          <xs:element name="Actions" minOccurs="0" type="ActionsType"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>
Element GetItemAttribValuesType / ScriptBoolFunc
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCExpressions_xsd.tmp#ScriptCodeBoolType_language SDCExpressions_xsd.tmp#ScriptCodeBoolType_code SDCExpressions_xsd.tmp#ScriptCodeBoolType_Parameter SDCExpressions_xsd.tmp#ScriptCodeBoolType
Type ScriptCodeBoolType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Parameter, Property
Instance
<ScriptBoolFunc allowNull="true" code="" language="" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Parameter dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{0,unbounded}</Parameter>
</ScriptBoolFunc>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
code xs:string optional
Script contents.
language xs:string optional
Programming language.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="ScriptBoolFunc" type="ScriptCodeBoolType"/>
Element GetItemAttribValuesType / CallBoolFunc
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCExpressions_xsd.tmp#CallBoolFuncType_refName SDCExpressions_xsd.tmp#CallBoolFuncType
Type CallBoolFuncType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<CallBoolFunc allowNull="true" name="" order="" refName="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</CallBoolFunc>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
refName optional
@name of the called function.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="CallBoolFunc" type="CallBoolFuncType"/>
Element GetItemAttribValuesType / Group
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#GetItemAttribValuesType_itemNames SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isSelected SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isActive SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasSelectionsGTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasSelectionsLTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasSelectionsExact SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasResponse SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isVisible SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isEnabled SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isRequired SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isReadOnly SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasType SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasStyleClass SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueEQ SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueLT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueLTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueGT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueGTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValue SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueEQ SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueLT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueLTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueGT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueGTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_supportdatesandIntervals SDCFormDesign_xsd.tmp#GetItemAttribValuesType_ScriptBoolFunc SDCFormDesign_xsd.tmp#GetItemAttribValuesType_CallBoolFunc SDCFormDesign_xsd.tmp#GetItemAttribValuesType_Group SDCFormDesign_xsd.tmp#GetItemAttribValuesType
Type GetItemAttribValuesType
Type hierarchy
Properties
content complex
maxOccurs unbounded
Model
Children CallBoolFunc, Comment, Extension, Group, Property, ScriptBoolFunc
Instance
<Group allowNull="true" boolOp="AND" hasAssociatedValue="" hasAssociatedValueEQ="" hasAssociatedValueGT="" hasAssociatedValueGTE="" hasAssociatedValueLT="" hasAssociatedValueLTE="" hasResponse="" hasSelectionsExact="" hasSelectionsGTE="" hasSelectionsLTE="" hasStyleClass="" hasType="" hasValueEQ="" hasValueGT="" hasValueGTE="" hasValueLT="" hasValueLTE="" isActive="" isEnabled="" isReadOnly="" isRequired="" isSelected="" isVisible="" itemNames="" name="" not="" order="" styleClass="" supportdatesandIntervals="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <ScriptBoolFunc allowNull="true" code="" language="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ScriptBoolFunc>
  <CallBoolFunc allowNull="true" name="" order="" refName="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</CallBoolFunc>
  <Group allowNull="true" boolOp="AND" hasAssociatedValue="" hasAssociatedValueEQ="" hasAssociatedValueGT="" hasAssociatedValueGTE="" hasAssociatedValueLT="" hasAssociatedValueLTE="" hasResponse="" hasSelectionsExact="" hasSelectionsGTE="" hasSelectionsLTE="" hasStyleClass="" hasType="" hasValueEQ="" hasValueGT="" hasValueGTE="" hasValueLT="" hasValueLTE="" isActive="" isEnabled="" isReadOnly="" isRequired="" isSelected="" isVisible="" itemNames="" name="" not="" order="" styleClass="" supportdatesandIntervals="" type="" val="" validationMessage="">{1,unbounded}</Group>
</Group>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
hasAssociatedValue xs:boolean optional
Applies only to ListItems. If the attribute has a value in it, this property returns true.  If it does not have a value, it returns false.
hasAssociatedValueEQ xs:decimal optional
hasAssociatedValueGT xs:decimal optional
hasAssociatedValueGTE xs:decimal optional
hasAssociatedValueLT xs:decimal optional
hasAssociatedValueLTE xs:decimal optional
hasResponse xs:boolean optional
Applies only to items that have Response Fields (Questions and ListItems).  If the ListItem or Question has a Response Field, and that field has a value in it, this property returns true.  If it does not have a value, it returns false.  If no Response Field is present, it retuns null and is not used for Boolean comparisons.
hasSelectionsExact xs:nonNegativeInteger optional
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items equals the entered value.
hasSelectionsGTE xs:nonNegativeInteger optional
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items equals or exceeds the entered value.
hasSelectionsLTE xs:nonNegativeInteger optional
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items is less than or equal to the entered value.
hasStyleClass xs:NMTOKENS optional
hasType xs:NMTOKENS optional
hasValueEQ xs:decimal optional
hasValueGT xs:decimal optional
hasValueGTE xs:decimal optional
hasValueLT xs:decimal optional
hasValueLTE xs:decimal optional
isActive xs:boolean optional
If visible and enabled are both true, then isActive is true.  Otherwise, it is false.
isEnabled xs:boolean optional
isReadOnly xs:boolean optional
isRequired xs:boolean optional
If the minCard value is greater than 0, then isRequired = "true"  
If the minCard = "0" then isRequired = "false"
isSelected xs:boolean optional
isVisible xs:boolean optional
itemNames xs:NMTOKENS required
Required name(s) of the item(s) (Section, Question, List Item) that contains the item properties used in the other attributes.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
supportdatesandIntervals optional
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" name="Group" type="GetItemAttribValuesType"/>
Element ConditionsSubActionsType / AttributeCondition / Actions
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActionsType_Action SDCFormDesign_xsd.tmp#ActionsType_SetProperty SDCFormDesign_xsd.tmp#ActionsType_AddCode SDCFormDesign_xsd.tmp#ActionsType_Inject SDCFormDesign_xsd.tmp#ActionsType_ShowURL SDCFormDesign_xsd.tmp#ActionsType_Save SDCFormDesign_xsd.tmp#ActionsType_SendReport SDCFormDesign_xsd.tmp#ActionsType_SendMessage111 SDCFormDesign_xsd.tmp#ActionsType_SetItemAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetBoolValue SDCFormDesign_xsd.tmp#ActionsType_ShowForm SDCFormDesign_xsd.tmp#ActionsType_ShowMessage SDCFormDesign_xsd.tmp#ActionsType_ShowReport SDCFormDesign_xsd.tmp#ActionsType_PreviewReport SDCFormDesign_xsd.tmp#ActionsType_ValidateForm SDCFormDesign_xsd.tmp#ActionsType_RunCode SDCFormDesign_xsd.tmp#ActionsType_CallCode SDCFormDesign_xsd.tmp#ActionsType_ConditionalGroupAction SDCFormDesign_xsd.tmp#ActionsType
Type ActionsType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Action, AddCode, CallCode, Comment, ConditionalGroupAction, Extension, Inject, PreviewReport, Property, RunCode, Save, SendMessage111, SendReport, SetAttributeValue, SetBoolValue, SetItemAttributeValue, SetProperty, ShowForm, ShowMessage, ShowReport, ShowURL, ValidateForm
Instance
<Actions name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Action action="" name="" order="" styleClass="" type="">{1,1}</Action>
  <SetProperty actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="">{1,1}</SetProperty>
  <AddCode itemName="" name="" order="" styleClass="" type="">{1,1}</AddCode>
  <Inject baseURI="" ID="" name="" order="" pkgBaseURI="" pkgFullURI="" pkgID="" pkgInstanceURI="" pkgInstanceVersionURI="" pkgManagerURI="" rootItemID="" styleClass="" targetNames="" type="" X_injectionID="">{1,1}</Inject>
  <ShowURL dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</ShowURL>
  <Save name="" order="" styleClass="" type="">{1,1}</Save>
  <SendReport name="" order="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="">{1,1}</SendReport>
  <SendMessage111 messageType="" name="" order="" styleClass="" type="" val="">{1,1}</SendMessage111>
  <SetItemAttributeValue actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="">{1,1}</SetItemAttributeValue>
  <SetAttributeValue code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</SetAttributeValue>
  <SetBoolValue allowNull="true" attributeName="val" code="" elementName="" language="" name="" order="" styleClass="" type="" val="" validationMessage="" X_targetNames="">{1,1}</SetBoolValue>
  <ShowForm displayState="" formID="" name="" order="" packageID="" styleClass="" type="">{1,1}</ShowForm>
  <ShowMessage alertLevel="" alertType="" messageCode="" messageType="" name="" order="" styleClass="" type="">{1,1}</ShowMessage>
  <ShowReport displayState="" name="" order="" packageID="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="">{1,1}</ShowReport>
  <PreviewReport displayState="" name="" order="" reportID="" styleClass="" type="">{1,1}</PreviewReport>
  <ValidateForm name="" order="" styleClass="" type="" validateCompleteness="false" validateDataTypes="false" validateRules="false" validationType="">{1,1}</ValidateForm>
  <RunCode code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</RunCode>
  <CallCode dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</CallCode>
  <ConditionalGroupAction allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{1,1}</ConditionalGroupAction>
</Actions>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="Actions" minOccurs="0" type="ActionsType"/>
Element ActionsType / Action
Namespace urn:ihe:qrph:sdc:2016
Annotations
A generic ExtensionBaseType for custom actions in a "Then" section.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActActionType_action SDCFormDesign_xsd.tmp#ActActionType_Parameter SDCFormDesign_xsd.tmp#ActActionType_ParameterValue SDCFormDesign_xsd.tmp#ActActionType
Type ActActionType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Parameter, ParameterValue, Property
Instance
<Action action="" name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Parameter dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{0,unbounded}</Parameter>
  <ParameterValue name="" order="" paramName="" styleClass="" type="">{0,unbounded}</ParameterValue>
</Action>
Attributes
QName Type Use Annotation
action xs:string required
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="Action" type="ActActionType">
  <xs:annotation>
    <xs:documentation>A generic ExtensionBaseType for custom actions in a "Then" section.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ActActionType / Parameter
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCDataTypes_xsd.tmp#dataTypeListAll SDCExpressions_xsd.tmp#ParameterItemType_paramName SDCExpressions_xsd.tmp#ParameterItemType_sourceItemName SDCExpressions_xsd.tmp#ParameterItemType_SourceItemAttribute SDCExpressions_xsd.tmp#ParameterItemType
Type ParameterItemType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<Parameter dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</Parameter>
Attributes
QName Type Default Use Annotation
SourceItemAttribute xs:NCName val optional
The name of any XML attribute on a named element.  The property value is the parameter's value.
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
paramName xs:NCName optional
A locally useful name that describes the parameter
sourceItemName xs:NCName required
The @name of an item in the current form that holds the @itemAttribute value that will become the parameter value.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="Parameter" type="ParameterItemType"/>
Element ActActionType / ParameterValue
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#DataTypes_SType_anyType SDCResources_xsd.tmp#DataTypes_SType_anyURI SDCResources_xsd.tmp#DataTypes_SType_base64Binary SDCResources_xsd.tmp#DataTypes_SType_boolean SDCResources_xsd.tmp#DataTypes_SType_duration SDCResources_xsd.tmp#DataTypes_SType_byte SDCResources_xsd.tmp#DataTypes_SType_date SDCResources_xsd.tmp#DataTypes_SType_dateTimeStamp SDCResources_xsd.tmp#DataTypes_SType_decimal SDCResources_xsd.tmp#DataTypes_SType_dateTime SDCResources_xsd.tmp#DataTypes_SType_double SDCResources_xsd.tmp#DataTypes_SType_float SDCResources_xsd.tmp#DataTypes_SType_gDay SDCResources_xsd.tmp#DataTypes_SType_gMonth SDCResources_xsd.tmp#DataTypes_SType_gMonthDay SDCResources_xsd.tmp#DataTypes_SType_gYear SDCResources_xsd.tmp#DataTypes_SType_gYearMonth SDCResources_xsd.tmp#DataTypes_SType_hexBinary SDCResources_xsd.tmp#DataTypes_SType_HTML SDCResources_xsd.tmp#DataTypes_SType_int SDCResources_xsd.tmp#DataTypes_SType_integer SDCResources_xsd.tmp#DataTypes_SType_long SDCResources_xsd.tmp#DataTypes_SType_negativeInteger SDCResources_xsd.tmp#DataTypes_SType_nonNegativeInteger SDCResources_xsd.tmp#DataTypes_SType_nonPositiveInteger SDCResources_xsd.tmp#DataTypes_SType_positiveInteger SDCResources_xsd.tmp#DataTypes_SType_short SDCResources_xsd.tmp#DataTypes_SType_string SDCResources_xsd.tmp#DataTypes_SType_time SDCResources_xsd.tmp#DataTypes_SType_unsignedByte SDCResources_xsd.tmp#DataTypes_SType_unsignedInt SDCResources_xsd.tmp#DataTypes_SType_unsignedLong SDCResources_xsd.tmp#DataTypes_SType_unsignedShort SDCResources_xsd.tmp#DataTypes_SType_XML SDCResources_xsd.tmp#DataTypes_SType_yearMonthDuration SDCResources_xsd.tmp#DataTypes_SType SDCExpressions_xsd.tmp#ParameterValueType_paramName SDCExpressions_xsd.tmp#ParameterValueType
Type ParameterValueType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, HTML, Property, XML, anyType, anyURI, base64Binary, boolean, byte, date, dateTime, dateTimeStamp, decimal, double, duration, float, gDay, gMonth, gMonthDay, gYear, gYearMonth, hexBinary, int, integer, long, negativeInteger, nonNegativeInteger, nonPositiveInteger, positiveInteger, short, string, time, unsignedByte, unsignedInt, unsignedLong, unsignedShort, yearMonthDuration
Instance
<ParameterValue name="" order="" paramName="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <anyType maxLength="" minLength="" name="" namespace="" order="" schema="" styleClass="" type="">{1,1}</anyType>
  <anyURI name="" order="" styleClass="" type="" val="">{1,1}</anyURI>
  <base64Binary mimeType="" name="" order="" styleClass="" type="" val="">{1,1}</base64Binary>
  <boolean name="" order="" styleClass="" type="" val="">{1,1}</boolean>
  <duration name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</duration>
  <byte name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</byte>
  <date name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</date>
  <dateTimeStamp name="" order="" styleClass="" type="" val="">{1,1}</dateTimeStamp>
  <decimal name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</decimal>
  <dateTime name="" order="" styleClass="" type="" val="">{1,1}</dateTime>
  <double mask="" name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</double>
  <float name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</float>
  <gDay name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</gDay>
  <gMonth name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</gMonth>
  <gMonthDay name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</gMonthDay>
  <gYear name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</gYear>
  <gYearMonth name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</gYearMonth>
  <hexBinary mimeType="" name="" order="" styleClass="" type="" val="">{1,1}</hexBinary>
  <HTML name="" order="" styleClass="" type="">{1,1}</HTML>
  <int name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</int>
  <integer name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</integer>
  <long name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</long>
  <negativeInteger name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</negativeInteger>
  <nonNegativeInteger name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</nonNegativeInteger>
  <nonPositiveInteger name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</nonPositiveInteger>
  <positiveInteger name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</positiveInteger>
  <short name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</short>
  <string name="" order="" styleClass="" type="" val="">{1,1}</string>
  <time name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</time>
  <unsignedByte name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</unsignedByte>
  <unsignedInt name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</unsignedInt>
  <unsignedLong name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</unsignedLong>
  <unsignedShort name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</unsignedShort>
  <XML name="" order="" schema="" styleClass="" type="">{1,1}</XML>
  <yearMonthDuration name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</yearMonthDuration>
</ParameterValue>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
paramName xs:NCName required
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element minOccurs="0" name="ParameterValue" type="ParameterValueType" maxOccurs="unbounded"/>
Element ActionsType / SetProperty
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActSetItemAttributeType_targetNames SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actVisible SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actEnable SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actMinCard SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actMaxCard SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actActivate SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSelect SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actDeleteResponse SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actReadOnly SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actType SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actStyleClass SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetTitleText SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetBase64HTML SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetCode SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetCodeSystem SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetVal SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetAssociatedValue SDCFormDesign_xsd.tmp#ActSetItemAttributeType
Type ActSetItemAttributeType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Property
Instance
<SetProperty actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</SetProperty>
Attributes
QName Type Use Annotation
actActivate xs:boolean optional
Toggle visible and enabled together.  Setting this to false will de-activate all descendents but will not change their enabled or visible properties.
actDeleteResponse xs:boolean optional
Delete any response in a Response field on a question or ListItem.  Not applicable to other item types.
actEnable xs:boolean optional
actMaxCard xs:nonNegativeInteger optional
Controls requirement to answer the question
actMinCard xs:nonNegativeInteger optional
Controls requirement to answer the question and the minimum number of repeats.
actReadOnly xs:boolean optional
Delete any response in a Response field on a question or ListItem.  Not applicable to other item types.
actSelect xs:boolean optional
Toggle selection of a List Item; not applicable to other items.
actSetAssociatedValue xs:string optional
Set @associatedValue attribute of a ListItem.  The correct data type must be used if applicable.
actSetBase64HTML xs:base64Binary optional
Set HTML as base-64-encoded binary
actSetCode xs:string optional
actSetCodeSystem xs:string optional
actSetTitleText xs:string optional
Set the @title text on an item.
actSetVal xs:string optional
Set a @val attribute.  The correct data type must be used if applicable.
actStyleClass xs:NMTOKENS optional
Set the @styleClass attribute value
actType xs:NMTOKENS optional
Set the @type attribute value
actVisible xs:boolean optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
targetNames xs:NMTOKENS required
The names of the items affected by property actions
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="SetProperty" type="ActSetItemAttributeType"/>
Element ActionsType / AddCode
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#ItemNameType_itemName SDCResources_xsd.tmp#ItemNameType SDCFormDesign_xsd.tmp#ActAddCodeType_Code SDCFormDesign_xsd.tmp#ActAddCodeType
Type ActAddCodeType
Type hierarchy
Properties
content complex
Model
Children Code, Comment, Extension, Property
Instance
<AddCode itemName="" name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Code name="" order="" styleClass="" type="">{1,1}</Code>
</AddCode>
Attributes
QName Type Use Annotation
itemName xs:NCName required
The @name attribute of the referenced element.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="AddCode" type="ActAddCodeType"/>
Element ActAddCodeType / Code
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#CodingType_Code SDCResources_xsd.tmp#CodingType_TypedValue SDCResources_xsd.tmp#CodingType_CodeText SDCResources_xsd.tmp#CodingType_CodeMatch SDCResources_xsd.tmp#CodingType_CodeSystem SDCResources_xsd.tmp#CodingType_CodeURI SDCResources_xsd.tmp#CodingType_Units SDCResources_xsd.tmp#CodingType
Type CodingType
Type hierarchy
Properties
content complex
Model
Children Code, CodeMatch, CodeSystem, CodeText, CodeURI, Comment, Extension, Property, TypedValue, Units
Instance
<Code name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Code name="" order="" styleClass="" type="" val="">{1,1}</Code>
  <TypedValue name="" order="" styleClass="" type="">{0,1}</TypedValue>
  <CodeText name="" order="" styleClass="" type="" val="">{0,1}</CodeText>
  <CodeMatch codeMatchEnum="Exact Code Match" name="" order="" styleClass="" type="">{0,1}</CodeMatch>
  <CodeSystem name="" order="" styleClass="" type="">{0,1}</CodeSystem>
  <CodeURI name="" order="" styleClass="" type="" val="">{0,1}</CodeURI>
  <Units name="" order="" styleClass="" type="" unitSystem="UCUM" val="">{0,1}</Units>
</Code>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="Code" type="CodingType"/>
Element ActionsType / Inject
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#InjectFormType_pkgID SDCFormDesign_xsd.tmp#InjectFormType_pkgInstanceURI SDCFormDesign_xsd.tmp#InjectFormType_pkgInstanceVersionURI SDCFormDesign_xsd.tmp#InjectFormType_pkgBaseURI SDCFormDesign_xsd.tmp#InjectFormType_pkgFullURI SDCFormDesign_xsd.tmp#InjectFormType_pkgManagerURI SDCFormDesign_xsd.tmp#InjectFormType_rootItemID SDCFormDesign_xsd.tmp#InjectFormType_X_injectionID SDCFormDesign_xsd.tmp#InjectFormType_Section SDCFormDesign_xsd.tmp#InjectFormType_Question SDCFormDesign_xsd.tmp#InjectFormType_FormDesign SDCFormDesign_xsd.tmp#InjectFormType SDCFormDesign_xsd.tmp#ActInjectType_targetNames SDCFormDesign_xsd.tmp#ActInjectType
Type ActInjectType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, FormDesign, Property, Question, Section
Instance
<Inject baseURI="" ID="" name="" order="" pkgBaseURI="" pkgFullURI="" pkgID="" pkgInstanceURI="" pkgInstanceVersionURI="" pkgManagerURI="" rootItemID="" styleClass="" targetNames="" type="" X_injectionID="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Section baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{1,1}</Section>
  <Question baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" parentGUID="" readOnly="false" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{1,1}</Question>
  <FormDesign basedOnURI="" baseURI="" filename="" formInstanceURI="" formInstanceVersionURI="" formPreviousInstanceVersionURI="" formTitle="" fullURI="" ID="" lineage="" name="" order="" prevVersionURI="" responseStatusEnum="" responseTypeEnum="" styleClass="" type="" version="">{1,1}</FormDesign>
</Inject>
Attributes
QName Type Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
X_injectionID xs:string optional
Unique ID (GUID) to distinguish multiple instances of the same injected node.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
pkgBaseURI URI_Atype optional
DRAFT: The baseURI of the package, whihc indicates the home source of the package.  The formManagerURP + pkgBaseURI + pkgID are concatenated to retrieve an empty form.  formManagerURP + pkgBaseURI + pkgInstanceVersionURI are concatenated to retrieve a specific version of a populated form.  formManagerURP + pkgBaseURI + pkgInstanceURI are concatenated to retrieve the latest instance of a populated form.
pkgFullURI URI_Atype optional
DRAFT: The injected package is retrieved form formManagerURI + "/" + pkgFullURI
pkgID URI_Atype optional
This ID represents the Package that contains the form to be injected.  The package may contain an empty form or a form containing responses.
pkgInstanceURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a package.  Used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI does not change for each edit session of a package instance.
pkgInstanceVersionURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a package's saved responses.  It is used for tracking package responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit/save session of a package instance.  It may be e.g., a new GUID, or a repeat of the pkgInstanceID followed by a version number.
pkgManagerURI URI_Atype optional
The server from which the injected package will be retrieved.
rootItemID URI_Atype optional
The rootItemID is the ID of the form part that will be injected.  If empty, then the entre form should be injected as the FormDesign element node.  If not empty, it must point to a valid Section or Question.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
targetNames xs:NMTOKENS optional
The names of the parent items that will have the form (or form section) injected as child node(s).
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="Inject" type="ActInjectType"/>
Element InjectFormType / Section
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#RepeatingType_minCard SDCFormDesign_xsd.tmp#RepeatingType_maxCard SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#RepeatingType SDCFormDesign_xsd.tmp#SectionBaseType_ordered SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#SectionBaseType SDCFormDesign_xsd.tmp#SectionItemType_ChildItems SDCFormDesign_xsd.tmp#SectionItemType
Type SectionItemType
Type hierarchy
Properties
content complex
Model
Children ActivateIf, BlobContent, ChildItems, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnEnter, OnEvent, OnExit, Property
Instance
<Section baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Link name="" order="" styleClass="" type="">{0,unbounded}</Link>
  <BlobContent fileExtension="" mimeType="" name="" order="" styleClass="" type="">{0,unbounded}</BlobContent>
  <Contact name="" order="" styleClass="" type="">{0,unbounded}</Contact>
  <CodedValue name="" order="" styleClass="" type="">{0,unbounded}</CodedValue>
  <OnEnter allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEnter>
  <OnExit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnExit>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
  <ActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</ActivateIf>
  <DeActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</DeActivateIf>
  <ChildItems name="" order="" styleClass="" type="">{0,1}</ChildItems>
</Section>
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
maxCard xs:unsignedShort 1 optional
@maxCard is the maximum number of repetitions allowed for a section or question.  The default value is 1, indicating that the section or question cannot be repeated on the data entry form.  A value of 0 indicates that the number of repeats is unlimited.  If @maxCard is not 0, then Must be greater than or equal to minCard.
minCard xs:unsignedShort 1 optional
@minCard is the minimum number of repetitions allowed for a section or question.  The default value is 1, indicating that the user must answer any question(s) that has this attribute set.  If @minCard is set to 0, then the item and all descendent questions are optional to answer.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
ordered xs:boolean true optional
If false, then the form implementation may change the order of items in the section.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:element name="Section" type="SectionItemType"/>
Element DisplayedType / Link
Namespace urn:ihe:qrph:sdc:2016
Annotations
Diagram
Type LinkType
Type hierarchy
Properties
Model
Children Comment, Extension, LinkText, LinkURI, Property
Instance
Attributes
Source
Element DisplayedType / BlobContent
Namespace urn:ihe:qrph:sdc:2016
Annotations
Blob information associated with the current DisplayedType.  The blob may contain any type of special media, but must be base 64 encoded.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#BlobType_mimeType SDCResources_xsd.tmp#BlobType_fileExtension SDCResources_xsd.tmp#BlobType_Description SDCResources_xsd.tmp#BlobType_Hash SDCResources_xsd.tmp#BlobType_BlobURI SDCResources_xsd.tmp#BlobType_BinaryMediaBase64 SDCResources_xsd.tmp#BlobType
Type BlobType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children BinaryMediaBase64, BlobURI, Comment, Description, Extension, Hash, Property
Instance
<BlobContent fileExtension="" mimeType="" name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Description name="" order="" styleClass="" type="" val="">{0,unbounded}</Description>
  <Hash hashAlgorithm="" mimeType="" name="" order="" styleClass="" type="" val="">{0,1}</Hash>
  <BlobURI name="" order="" styleClass="" type="" val="">{1,1}</BlobURI>
  <BinaryMediaBase64 mimeType="" name="" order="" styleClass="" type="" val="">{1,1}</BinaryMediaBase64>
</BlobContent>
Attributes
QName Type Use Annotation
fileExtension xs:string optional
Use a common file extension (e.g., docx) if there is no @MIME_Type available
mimeType xs:string required
TBD: Must be a valid MIME type - needs enumeration
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="BlobContent" type="BlobType" minOccurs="0" maxOccurs="unbounded">
  <xs:annotation>
    <xs:documentation>Blob information associated with the current DisplayedType. The blob may contain any type of special media, but must be base 64 encoded.</xs:documentation>
  </xs:annotation>
</xs:element>
Element DisplayedType / Contact
Namespace urn:ihe:qrph:sdc:2016
Annotations
Any desired contact information regarding, e.g., the form item, authoring process, certifications, code or coding processs.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#ContactType_Person SDCResources_xsd.tmp#ContactType_Organization SDCResources_xsd.tmp#ContactType
Type ContactType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Organization, Person, Property
Instance
<Contact name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Person name="" order="" styleClass="" type="">{0,1}</Person>
  <Organization name="" order="" styleClass="" type="">{0,1}</Organization>
</Contact>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element maxOccurs="unbounded" name="Contact" type="ContactType" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Any desired contact information regarding, e.g., the form item, authoring process, certifications, code or coding processs.</xs:documentation>
  </xs:annotation>
</xs:element>
Element DisplayedType / CodedValue
Namespace urn:ihe:qrph:sdc:2016
Annotations
Coding, terminology, classification, keyword, or local values
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#CodingType_Code SDCResources_xsd.tmp#CodingType_TypedValue SDCResources_xsd.tmp#CodingType_CodeText SDCResources_xsd.tmp#CodingType_CodeMatch SDCResources_xsd.tmp#CodingType_CodeSystem SDCResources_xsd.tmp#CodingType_CodeURI SDCResources_xsd.tmp#CodingType_Units SDCResources_xsd.tmp#CodingType
Type CodingType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Code, CodeMatch, CodeSystem, CodeText, CodeURI, Comment, Extension, Property, TypedValue, Units
Instance
<CodedValue name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Code name="" order="" styleClass="" type="" val="">{1,1}</Code>
  <TypedValue name="" order="" styleClass="" type="">{0,1}</TypedValue>
  <CodeText name="" order="" styleClass="" type="" val="">{0,1}</CodeText>
  <CodeMatch codeMatchEnum="Exact Code Match" name="" order="" styleClass="" type="">{0,1}</CodeMatch>
  <CodeSystem name="" order="" styleClass="" type="">{0,1}</CodeSystem>
  <CodeURI name="" order="" styleClass="" type="" val="">{0,1}</CodeURI>
  <Units name="" order="" styleClass="" type="" unitSystem="UCUM" val="">{0,1}</Units>
</CodedValue>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="CodedValue" type="CodingType">
  <xs:annotation>
    <xs:documentation>Coding, terminology, classification, keyword, or local values</xs:documentation>
  </xs:annotation>
</xs:element>
Element DisplayedType / OnEnter
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType
Type EventType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<OnEnter allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</OnEnter>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="OnEnter" type="EventType" maxOccurs="unbounded"/>
Element ConditionalGroupActionType / Actions
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActionsType_Action SDCFormDesign_xsd.tmp#ActionsType_SetProperty SDCFormDesign_xsd.tmp#ActionsType_AddCode SDCFormDesign_xsd.tmp#ActionsType_Inject SDCFormDesign_xsd.tmp#ActionsType_ShowURL SDCFormDesign_xsd.tmp#ActionsType_Save SDCFormDesign_xsd.tmp#ActionsType_SendReport SDCFormDesign_xsd.tmp#ActionsType_SendMessage111 SDCFormDesign_xsd.tmp#ActionsType_SetItemAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetBoolValue SDCFormDesign_xsd.tmp#ActionsType_ShowForm SDCFormDesign_xsd.tmp#ActionsType_ShowMessage SDCFormDesign_xsd.tmp#ActionsType_ShowReport SDCFormDesign_xsd.tmp#ActionsType_PreviewReport SDCFormDesign_xsd.tmp#ActionsType_ValidateForm SDCFormDesign_xsd.tmp#ActionsType_RunCode SDCFormDesign_xsd.tmp#ActionsType_CallCode SDCFormDesign_xsd.tmp#ActionsType_ConditionalGroupAction SDCFormDesign_xsd.tmp#ActionsType
Type ActionsType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Action, AddCode, CallCode, Comment, ConditionalGroupAction, Extension, Inject, PreviewReport, Property, RunCode, Save, SendMessage111, SendReport, SetAttributeValue, SetBoolValue, SetItemAttributeValue, SetProperty, ShowForm, ShowMessage, ShowReport, ShowURL, ValidateForm
Instance
<Actions name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Action action="" name="" order="" styleClass="" type="">{1,1}</Action>
  <SetProperty actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="">{1,1}</SetProperty>
  <AddCode itemName="" name="" order="" styleClass="" type="">{1,1}</AddCode>
  <Inject baseURI="" ID="" name="" order="" pkgBaseURI="" pkgFullURI="" pkgID="" pkgInstanceURI="" pkgInstanceVersionURI="" pkgManagerURI="" rootItemID="" styleClass="" targetNames="" type="" X_injectionID="">{1,1}</Inject>
  <ShowURL dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</ShowURL>
  <Save name="" order="" styleClass="" type="">{1,1}</Save>
  <SendReport name="" order="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="">{1,1}</SendReport>
  <SendMessage111 messageType="" name="" order="" styleClass="" type="" val="">{1,1}</SendMessage111>
  <SetItemAttributeValue actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="">{1,1}</SetItemAttributeValue>
  <SetAttributeValue code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</SetAttributeValue>
  <SetBoolValue allowNull="true" attributeName="val" code="" elementName="" language="" name="" order="" styleClass="" type="" val="" validationMessage="" X_targetNames="">{1,1}</SetBoolValue>
  <ShowForm displayState="" formID="" name="" order="" packageID="" styleClass="" type="">{1,1}</ShowForm>
  <ShowMessage alertLevel="" alertType="" messageCode="" messageType="" name="" order="" styleClass="" type="">{1,1}</ShowMessage>
  <ShowReport displayState="" name="" order="" packageID="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="">{1,1}</ShowReport>
  <PreviewReport displayState="" name="" order="" reportID="" styleClass="" type="">{1,1}</PreviewReport>
  <ValidateForm name="" order="" styleClass="" type="" validateCompleteness="false" validateDataTypes="false" validateRules="false" validationType="">{1,1}</ValidateForm>
  <RunCode code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</RunCode>
  <CallCode dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</CallCode>
  <ConditionalGroupAction allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{1,1}</ConditionalGroupAction>
</Actions>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="Actions" minOccurs="0" type="ActionsType">
</xs:element>
Element ActionsType / ShowURL
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#CallFuncType_Function SDCExpressions_xsd.tmp#CallFuncType_Security SDCExpressions_xsd.tmp#ParameterGroup_ParameterRef SDCExpressions_xsd.tmp#ParameterGroup_ParameterValue SDCExpressions_xsd.tmp#ParameterGroup SDCExpressions_xsd.tmp#CallFuncType
Type CallFuncType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Function, ParameterRef, ParameterValue, Property, Security
Instance
<ShowURL dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Function name="" order="" styleClass="" type="" val="">{1,1}</Function>
  <Security name="" order="" styleClass="" type="" val="">{0,1}</Security>
  <ParameterRef dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{1,1}</ParameterRef>
  <ParameterValue name="" order="" paramName="" styleClass="" type="">{1,1}</ParameterValue>
</ShowURL>
Attributes
QName Type Default Use Annotation
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="ShowURL" type="CallFuncType"/>
Element ActionsType / Save
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActSaveResponsesType_MessageText SDCFormDesign_xsd.tmp#ActSaveResponsesType
Type ActSaveResponsesType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, MessageText, Property
Instance
<Save name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <MessageText name="" order="" styleClass="" type="" val="">{1,1}</MessageText>
</Save>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="Save" type="ActSaveResponsesType"/>
Element ActSaveResponsesType / MessageText
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#RichTextType_val SDCResources_xsd.tmp#RichTextType_RichText SDCResources_xsd.tmp#RichTextType
Type RichTextType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Property, RichText
Instance
<MessageText name="" order="" styleClass="" type="" val="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <RichText name="" order="" styleClass="" type="">{1,1}</RichText>
</MessageText>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:string required
Source
<xs:element name="MessageText" type="RichTextType"/>
Element ActionsType / SendReport
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActSendReportType_reportID SDCFormDesign_xsd.tmp#ActSendReportType_reportInstanceGuid SDCFormDesign_xsd.tmp#ActSendReportType_reportInstanceVersonGuid SDCFormDesign_xsd.tmp#ActSendReportType_Email SDCFormDesign_xsd.tmp#ActSendReportType_Fax SDCFormDesign_xsd.tmp#ActSendReportType_WebService SDCFormDesign_xsd.tmp#ActSendReportType
Type ActSendReportType
Type hierarchy
Properties
content complex
Model
Children Comment, Email, Extension, Fax, Property, WebService
Instance
<SendReport name="" order="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Email name="" order="" styleClass="" type="" val="">{1,1}</Email>
  <Fax name="" order="" styleClass="" type="" val="">{1,1}</Fax>
  <WebService dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</WebService>
</SendReport>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
reportID URI_Atype optional
reportInstanceGuid xs:string optional
reportInstanceVersonGuid xs:string optional
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="SendReport" type="ActSendReportType"/>
Element ActSendReportType / Email
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#EmailAddressType_val SDCResources_xsd.tmp#EmailAddressType
Type EmailAddressType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Property
Instance
<Email name="" order="" styleClass="" type="" val="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</Email>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val EmailAddress_Stype required
Source
<xs:element name="Email" type="EmailAddressType"/>
Element ActSendReportType / Fax
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#PhoneNumberType_val SDCResources_xsd.tmp#PhoneNumberType
Type PhoneNumberType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Property
Instance
<Fax name="" order="" styleClass="" type="" val="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</Fax>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val PhoneNumber_Stype required
Source
<xs:element name="Fax" type="PhoneNumberType"/>
Element ActSendReportType / WebService
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#CallFuncType_Function SDCExpressions_xsd.tmp#CallFuncType_Security SDCExpressions_xsd.tmp#ParameterGroup_ParameterRef SDCExpressions_xsd.tmp#ParameterGroup_ParameterValue SDCExpressions_xsd.tmp#ParameterGroup SDCExpressions_xsd.tmp#CallFuncType
Type CallFuncType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Function, ParameterRef, ParameterValue, Property, Security
Instance
<WebService dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Function name="" order="" styleClass="" type="" val="">{1,1}</Function>
  <Security name="" order="" styleClass="" type="" val="">{0,1}</Security>
  <ParameterRef dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{1,1}</ParameterRef>
  <ParameterValue name="" order="" paramName="" styleClass="" type="">{1,1}</ParameterValue>
</WebService>
Attributes
QName Type Default Use Annotation
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="WebService" type="CallFuncType"/>
Element ActionsType / SendMessage111
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#RichTextType_val SDCResources_xsd.tmp#RichTextType_RichText SDCResources_xsd.tmp#RichTextType SDCFormDesign_xsd.tmp#ActSendMessageType_messageType SDCFormDesign_xsd.tmp#ActSendMessageType_Email SDCFormDesign_xsd.tmp#ActSendMessageType_Fax SDCFormDesign_xsd.tmp#ActSendMessageType_WebService SDCFormDesign_xsd.tmp#ActSendMessageType
Type ActSendMessageType
Type hierarchy
Properties
content complex
Model
Children Comment, Email, Extension, Fax, Property, RichText, WebService
Instance
<SendMessage111 messageType="" name="" order="" styleClass="" type="" val="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <RichText name="" order="" styleClass="" type="">{1,1}</RichText>
  <Email name="" order="" styleClass="" type="" val="">{1,unbounded}</Email>
  <Fax name="" order="" styleClass="" type="" val="">{1,unbounded}</Fax>
  <WebService dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,unbounded}</WebService>
</SendMessage111>
Attributes
QName Type Use Annotation
messageType xs:string optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:string required
Source
<xs:element name="SendMessage111" type="ActSendMessageType"/>
Element ActSendMessageType / Email
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#EmailAddressType_val SDCResources_xsd.tmp#EmailAddressType
Type EmailAddressType
Type hierarchy
Properties
content complex
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<Email name="" order="" styleClass="" type="" val="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</Email>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val EmailAddress_Stype required
Source
<xs:element name="Email" type="EmailAddressType" maxOccurs="unbounded"/>
Element ActSendMessageType / Fax
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#PhoneNumberType_val SDCResources_xsd.tmp#PhoneNumberType
Type PhoneNumberType
Type hierarchy
Properties
content complex
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<Fax name="" order="" styleClass="" type="" val="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</Fax>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val PhoneNumber_Stype required
Source
<xs:element name="Fax" type="PhoneNumberType" maxOccurs="unbounded"/>
Element ActSendMessageType / WebService
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#CallFuncType_Function SDCExpressions_xsd.tmp#CallFuncType_Security SDCExpressions_xsd.tmp#ParameterGroup_ParameterRef SDCExpressions_xsd.tmp#ParameterGroup_ParameterValue SDCExpressions_xsd.tmp#ParameterGroup SDCExpressions_xsd.tmp#CallFuncType
Type CallFuncType
Type hierarchy
Properties
content complex
maxOccurs unbounded
Model
Children Comment, Extension, Function, ParameterRef, ParameterValue, Property, Security
Instance
<WebService dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Function name="" order="" styleClass="" type="" val="">{1,1}</Function>
  <Security name="" order="" styleClass="" type="" val="">{0,1}</Security>
  <ParameterRef dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{1,1}</ParameterRef>
  <ParameterValue name="" order="" paramName="" styleClass="" type="">{1,1}</ParameterValue>
</WebService>
Attributes
QName Type Default Use Annotation
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="WebService" type="CallFuncType" maxOccurs="unbounded"/>
Element ActionsType / SetItemAttributeValue
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActSetItemAttributeType_targetNames SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actVisible SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actEnable SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actMinCard SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actMaxCard SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actActivate SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSelect SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actDeleteResponse SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actReadOnly SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actType SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actStyleClass SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetTitleText SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetBase64HTML SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetCode SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetCodeSystem SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetVal SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetAssociatedValue SDCFormDesign_xsd.tmp#ActSetItemAttributeType
Type ActSetItemAttributeType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Property
Instance
<SetItemAttributeValue actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</SetItemAttributeValue>
Attributes
QName Type Use Annotation
actActivate xs:boolean optional
Toggle visible and enabled together.  Setting this to false will de-activate all descendents but will not change their enabled or visible properties.
actDeleteResponse xs:boolean optional
Delete any response in a Response field on a question or ListItem.  Not applicable to other item types.
actEnable xs:boolean optional
actMaxCard xs:nonNegativeInteger optional
Controls requirement to answer the question
actMinCard xs:nonNegativeInteger optional
Controls requirement to answer the question and the minimum number of repeats.
actReadOnly xs:boolean optional
Delete any response in a Response field on a question or ListItem.  Not applicable to other item types.
actSelect xs:boolean optional
Toggle selection of a List Item; not applicable to other items.
actSetAssociatedValue xs:string optional
Set @associatedValue attribute of a ListItem.  The correct data type must be used if applicable.
actSetBase64HTML xs:base64Binary optional
Set HTML as base-64-encoded binary
actSetCode xs:string optional
actSetCodeSystem xs:string optional
actSetTitleText xs:string optional
Set the @title text on an item.
actSetVal xs:string optional
Set a @val attribute.  The correct data type must be used if applicable.
actStyleClass xs:NMTOKENS optional
Set the @styleClass attribute value
actType xs:NMTOKENS optional
Set the @type attribute value
actVisible xs:boolean optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
targetNames xs:NMTOKENS required
The names of the items affected by property actions
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="SetItemAttributeValue" type="ActSetItemAttributeType"/>
Element ActionsType / SetAttributeValue
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#ScriptCodeAnyType_language SDCExpressions_xsd.tmp#ScriptCodeAnyType_code SDCExpressions_xsd.tmp#ScriptCodeAnyType_Parameter SDCExpressions_xsd.tmp#ScriptCodeAnyType SDCFormDesign_xsd.tmp#ActSetAttrValueType_Target SDCFormDesign_xsd.tmp#ActSetAttrValueType
Type ActSetAttrValueType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Parameter, Property, Target
Instance
<SetAttributeValue code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Parameter dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{0,unbounded}</Parameter>
  <Target attributeName="val" itemName="" name="" order="" styleClass="" type="">{1,1}</Target>
</SetAttributeValue>
Attributes
QName Type Default Use Annotation
code xs:string optional
Script contents.
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
language xs:string optional
Programming language.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="SetAttributeValue" type="ActSetAttrValueType"/>
Element ActSetAttrValueType / Target
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#ItemNameType_itemName SDCResources_xsd.tmp#ItemNameType SDCResources_xsd.tmp#ItemNameAttributeType_attributeName SDCResources_xsd.tmp#ItemNameAttributeType
Type ItemNameAttributeType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Property
Instance
<Target attributeName="val" itemName="" name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</Target>
Attributes
QName Type Default Use Annotation
attributeName xs:NCName val optional
itemName xs:NCName required
The @name attribute of the referenced element.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="Target" type="ItemNameAttributeType"/>
Element ActionsType / SetBoolValue
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCExpressions_xsd.tmp#ScriptCodeBoolType_language SDCExpressions_xsd.tmp#ScriptCodeBoolType_code SDCExpressions_xsd.tmp#ScriptCodeBoolType_Parameter SDCExpressions_xsd.tmp#ScriptCodeBoolType SDCFormDesign_xsd.tmp#ActSetValueBoolType_elementName SDCFormDesign_xsd.tmp#ActSetValueBoolType_attributeName SDCFormDesign_xsd.tmp#ActSetValueBoolType_X_targetNames SDCFormDesign_xsd.tmp#ActSetValueBoolType
Type ActSetValueBoolType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Parameter, Property
Instance
<SetBoolValue allowNull="true" attributeName="val" code="" elementName="" language="" name="" order="" styleClass="" type="" val="" validationMessage="" X_targetNames="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Parameter dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{0,unbounded}</Parameter>
</SetBoolValue>
Attributes
QName Type Default Use Annotation
X_targetNames xs:NMTOKENS required
allowNull xs:boolean true optional
attributeName xs:NCName val optional
The name of any attribute on a named element.
code xs:string optional
Script contents.
elementName xs:NCName required
The @name attribute of the referenced element.
language xs:string optional
Programming language.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="SetBoolValue" type="ActSetValueBoolType"/>
Element ActionsType / ShowForm
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActShowFormType_formID SDCFormDesign_xsd.tmp#ActShowFormType_packageID SDCFormDesign_xsd.tmp#ActShowFormType_displayState SDCFormDesign_xsd.tmp#ActShowFormType
Type ActShowFormType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Property
Instance
<ShowForm displayState="" formID="" name="" order="" packageID="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</ShowForm>
Attributes
QName Type Use Annotation
displayState xs:string optional
formID URI_Atype optional
This ID represents the form to be displayed.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
packageID URI_Atype required
This ID represents the Package that contains the form to be displayed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="ShowForm" type="ActShowFormType"/>
Element ActionsType / ShowMessage
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActShowMessageType_alertLevel SDCFormDesign_xsd.tmp#ActShowMessageType_alertType SDCFormDesign_xsd.tmp#ActShowMessageType_messageType SDCFormDesign_xsd.tmp#ActShowMessageType_messageCode SDCFormDesign_xsd.tmp#ActShowMessageType_Message SDCFormDesign_xsd.tmp#ActShowMessageType
Type ActShowMessageType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Message, Property
Instance
<ShowMessage alertLevel="" alertType="" messageCode="" messageType="" name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Message name="" order="" styleClass="" type="" val="">{1,unbounded}</Message>
</ShowMessage>
Attributes
QName Type Use Annotation
alertLevel xs:string optional
alertType xs:string optional
messageCode xs:string optional
messageType xs:string optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="ShowMessage" type="ActShowMessageType"/>
Element ActShowMessageType / Message
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#RichTextType_val SDCResources_xsd.tmp#RichTextType_RichText SDCResources_xsd.tmp#RichTextType
Type RichTextType
Type hierarchy
Properties
content complex
maxOccurs unbounded
Model
Children Comment, Extension, Property, RichText
Instance
<Message name="" order="" styleClass="" type="" val="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <RichText name="" order="" styleClass="" type="">{1,1}</RichText>
</Message>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:string required
Source
<xs:element maxOccurs="unbounded" name="Message" type="RichTextType">
</xs:element>
Element ActionsType / ShowReport
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActShowReportType_reportID SDCFormDesign_xsd.tmp#ActShowReportType_packageID SDCFormDesign_xsd.tmp#ActShowReportType_reportInstanceGuid SDCFormDesign_xsd.tmp#ActShowReportType_reportInstanceVersonGuid SDCFormDesign_xsd.tmp#ActShowReportType_displayState SDCFormDesign_xsd.tmp#ActShowReportType
Type ActShowReportType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Property
Instance
<ShowReport displayState="" name="" order="" packageID="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</ShowReport>
Attributes
QName Type Use Annotation
displayState xs:string optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
packageID URI_Atype optional
This ID represents the Package that contains the report to be displayed.
reportID URI_Atype optional
This ID represents the report to be displayed.
reportInstanceGuid xs:string optional
reportInstanceVersonGuid xs:string optional
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="ShowReport" type="ActShowReportType"/>
Element ActionsType / PreviewReport
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActPreviewReportType_reportID SDCFormDesign_xsd.tmp#ActPreviewReportType_displayState SDCFormDesign_xsd.tmp#ActPreviewReportType
Type ActPreviewReportType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Property
Instance
<PreviewReport displayState="" name="" order="" reportID="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</PreviewReport>
Attributes
QName Type Use Annotation
displayState xs:string optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
reportID URI_Atype optional
This ID represents the report to be displayed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="PreviewReport" type="ActPreviewReportType"/>
Element ActionsType / ValidateForm
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActValidateFormType_validateDataTypes SDCFormDesign_xsd.tmp#ActValidateFormType_validateRules SDCFormDesign_xsd.tmp#ActValidateFormType_validateCompleteness SDCFormDesign_xsd.tmp#ActValidateFormType_validationType SDCFormDesign_xsd.tmp#ActValidateFormType_ValidationWebService SDCFormDesign_xsd.tmp#ActValidateFormType
Type ActValidateFormType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Property, ValidationWebService
Instance
<ValidateForm name="" order="" styleClass="" type="" validateCompleteness="false" validateDataTypes="false" validateRules="false" validationType="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <ValidationWebService dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{0,1}</ValidationWebService>
</ValidateForm>
Attributes
QName Type Default Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
validateCompleteness xs:boolean false optional
validateDataTypes xs:boolean false optional
validateRules xs:boolean false optional
validationType xs:string optional
Source
<xs:element name="ValidateForm" type="ActValidateFormType"/>
Element ActValidateFormType / ValidationWebService
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#CallFuncType_Function SDCExpressions_xsd.tmp#CallFuncType_Security SDCExpressions_xsd.tmp#ParameterGroup_ParameterRef SDCExpressions_xsd.tmp#ParameterGroup_ParameterValue SDCExpressions_xsd.tmp#ParameterGroup SDCExpressions_xsd.tmp#CallFuncType
Type CallFuncType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Comment, Extension, Function, ParameterRef, ParameterValue, Property, Security
Instance
<ValidationWebService dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Function name="" order="" styleClass="" type="" val="">{1,1}</Function>
  <Security name="" order="" styleClass="" type="" val="">{0,1}</Security>
  <ParameterRef dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{1,1}</ParameterRef>
  <ParameterValue name="" order="" paramName="" styleClass="" type="">{1,1}</ParameterValue>
</ValidationWebService>
Attributes
QName Type Default Use Annotation
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element minOccurs="0" name="ValidationWebService" type="CallFuncType"/>
Element ActionsType / RunCode
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#ScriptCodeAnyType_language SDCExpressions_xsd.tmp#ScriptCodeAnyType_code SDCExpressions_xsd.tmp#ScriptCodeAnyType_Parameter SDCExpressions_xsd.tmp#ScriptCodeAnyType
Type ScriptCodeAnyType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Parameter, Property
Instance
<RunCode code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Parameter dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{0,unbounded}</Parameter>
</RunCode>
Attributes
QName Type Default Use Annotation
code xs:string optional
Script contents.
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
language xs:string optional
Programming language.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="RunCode" type="ScriptCodeAnyType"/>
Element ActionsType / CallCode
Namespace urn:ihe:qrph:sdc:2016
Annotations
Execute a local rule located elsewhere in the FormDesign template.  Use the @name value in @val property of Function
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#CallFuncType_Function SDCExpressions_xsd.tmp#CallFuncType_Security SDCExpressions_xsd.tmp#ParameterGroup_ParameterRef SDCExpressions_xsd.tmp#ParameterGroup_ParameterValue SDCExpressions_xsd.tmp#ParameterGroup SDCExpressions_xsd.tmp#CallFuncType
Type CallFuncType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Function, ParameterRef, ParameterValue, Property, Security
Instance
<CallCode dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Function name="" order="" styleClass="" type="" val="">{1,1}</Function>
  <Security name="" order="" styleClass="" type="" val="">{0,1}</Security>
  <ParameterRef dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{1,1}</ParameterRef>
  <ParameterValue name="" order="" paramName="" styleClass="" type="">{1,1}</ParameterValue>
</CallCode>
Attributes
QName Type Default Use Annotation
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="CallCode" type="CallFuncType">
  <xs:annotation>
    <xs:documentation>Execute a local rule located elsewhere in the FormDesign template. Use the @name value in @val property of Function</xs:documentation>
  </xs:annotation>
</xs:element>
Element ActionsType / ConditionalGroupAction
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType
Type ConditionalGroupActionType
Type hierarchy
Properties
content complex
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<ConditionalGroupAction allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</ConditionalGroupAction>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="ConditionalGroupAction" type="ConditionalGroupActionType"/>
Element DisplayedType / OnExit
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType
Type EventType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<OnExit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</OnExit>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="OnExit" type="EventType" maxOccurs="unbounded"/>
Element DisplayedType / OnEvent
Namespace urn:ihe:qrph:sdc:2016
Annotations
Generic event handler - eventName must be specified.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType SDCFormDesign_xsd.tmp#OnEventType_eventName SDCFormDesign_xsd.tmp#OnEventType
Type OnEventType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</OnEvent>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
eventName xs:string required
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="OnEvent" maxOccurs="unbounded" type="OnEventType">
  <xs:annotation>
    <xs:documentation>Generic event handler - eventName must be specified.</xs:documentation>
  </xs:annotation>
</xs:element>
Element DisplayedType / ActivateIf
Namespace urn:ihe:qrph:sdc:2016
Annotations
Activate the DisplayedType item if the guard conditions are met.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#GuardType_AttributeCondition SDCFormDesign_xsd.tmp#GuardType_MultiSelections SDCFormDesign_xsd.tmp#GuardType_IllegalSelectionTest SDCFormDesign_xsd.tmp#GuardType_IllegalSelectionSets SDCFormDesign_xsd.tmp#GuardType_ItemAlternatives SDCFormDesign_xsd.tmp#GuardType_ScriptCondition SDCFormDesign_xsd.tmp#GuardType_CallBoolCondition SDCFormDesign_xsd.tmp#GuardType_Group SDCFormDesign_xsd.tmp#GuardType
Type GuardType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children AttributeCondition, CallBoolCondition, Comment, Extension, Group, IllegalSelectionSets, IllegalSelectionTest, ItemAlternatives, MultiSelections, Property, ScriptCondition
Instance
<ActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <AttributeCondition allowNull="true" boolOp="AND" hasAssociatedValue="" hasAssociatedValueEQ="" hasAssociatedValueGT="" hasAssociatedValueGTE="" hasAssociatedValueLT="" hasAssociatedValueLTE="" hasResponse="" hasSelectionsExact="" hasSelectionsGTE="" hasSelectionsLTE="" hasStyleClass="" hasType="" hasValueEQ="" hasValueGT="" hasValueGTE="" hasValueLT="" hasValueLTE="" isActive="" isEnabled="" isReadOnly="" isRequired="" isSelected="" isVisible="" itemNames="" name="" not="" order="" styleClass="" supportdatesandIntervals="" type="" val="" validationMessage="">{0,unbounded}</AttributeCondition>
  <MultiSelections allowNull="true" boolOp="AND" name="" not="" order="" selectedItemSet="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</MultiSelections>
  <IllegalSelectionTest allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" testItemName="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionTest>
  <IllegalSelectionSets allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionSets>
  <ItemAlternatives allowNull="true" itemNames="" maxAnswered="0" minAnswered="1" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ItemAlternatives>
  <ScriptCondition allowNull="true" code="" language="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ScriptCondition>
  <CallBoolCondition allowNull="true" name="" order="" refName="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</CallBoolCondition>
  <Group allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</Group>
</ActivateIf>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="ActivateIf" type="GuardType">
  <xs:annotation>
    <xs:documentation>Activate the DisplayedType item if the guard conditions are met.</xs:documentation>
  </xs:annotation>
</xs:element>
Element GuardType / AttributeCondition
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#GetItemAttribValuesType_itemNames SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isSelected SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isActive SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasSelectionsGTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasSelectionsLTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasSelectionsExact SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasResponse SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isVisible SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isEnabled SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isRequired SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isReadOnly SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasType SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasStyleClass SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueEQ SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueLT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueLTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueGT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueGTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValue SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueEQ SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueLT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueLTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueGT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueGTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_supportdatesandIntervals SDCFormDesign_xsd.tmp#GetItemAttribValuesType_ScriptBoolFunc SDCFormDesign_xsd.tmp#GetItemAttribValuesType_CallBoolFunc SDCFormDesign_xsd.tmp#GetItemAttribValuesType_Group SDCFormDesign_xsd.tmp#GetItemAttribValuesType
Type GetItemAttribValuesType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children CallBoolFunc, Comment, Extension, Group, Property, ScriptBoolFunc
Instance
<AttributeCondition allowNull="true" boolOp="AND" hasAssociatedValue="" hasAssociatedValueEQ="" hasAssociatedValueGT="" hasAssociatedValueGTE="" hasAssociatedValueLT="" hasAssociatedValueLTE="" hasResponse="" hasSelectionsExact="" hasSelectionsGTE="" hasSelectionsLTE="" hasStyleClass="" hasType="" hasValueEQ="" hasValueGT="" hasValueGTE="" hasValueLT="" hasValueLTE="" isActive="" isEnabled="" isReadOnly="" isRequired="" isSelected="" isVisible="" itemNames="" name="" not="" order="" styleClass="" supportdatesandIntervals="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <ScriptBoolFunc allowNull="true" code="" language="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ScriptBoolFunc>
  <CallBoolFunc allowNull="true" name="" order="" refName="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</CallBoolFunc>
  <Group allowNull="true" boolOp="AND" hasAssociatedValue="" hasAssociatedValueEQ="" hasAssociatedValueGT="" hasAssociatedValueGTE="" hasAssociatedValueLT="" hasAssociatedValueLTE="" hasResponse="" hasSelectionsExact="" hasSelectionsGTE="" hasSelectionsLTE="" hasStyleClass="" hasType="" hasValueEQ="" hasValueGT="" hasValueGTE="" hasValueLT="" hasValueLTE="" isActive="" isEnabled="" isReadOnly="" isRequired="" isSelected="" isVisible="" itemNames="" name="" not="" order="" styleClass="" supportdatesandIntervals="" type="" val="" validationMessage="">{1,unbounded}</Group>
</AttributeCondition>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
hasAssociatedValue xs:boolean optional
Applies only to ListItems. If the attribute has a value in it, this property returns true.  If it does not have a value, it returns false.
hasAssociatedValueEQ xs:decimal optional
hasAssociatedValueGT xs:decimal optional
hasAssociatedValueGTE xs:decimal optional
hasAssociatedValueLT xs:decimal optional
hasAssociatedValueLTE xs:decimal optional
hasResponse xs:boolean optional
Applies only to items that have Response Fields (Questions and ListItems).  If the ListItem or Question has a Response Field, and that field has a value in it, this property returns true.  If it does not have a value, it returns false.  If no Response Field is present, it retuns null and is not used for Boolean comparisons.
hasSelectionsExact xs:nonNegativeInteger optional
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items equals the entered value.
hasSelectionsGTE xs:nonNegativeInteger optional
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items equals or exceeds the entered value.
hasSelectionsLTE xs:nonNegativeInteger optional
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items is less than or equal to the entered value.
hasStyleClass xs:NMTOKENS optional
hasType xs:NMTOKENS optional
hasValueEQ xs:decimal optional
hasValueGT xs:decimal optional
hasValueGTE xs:decimal optional
hasValueLT xs:decimal optional
hasValueLTE xs:decimal optional
isActive xs:boolean optional
If visible and enabled are both true, then isActive is true.  Otherwise, it is false.
isEnabled xs:boolean optional
isReadOnly xs:boolean optional
isRequired xs:boolean optional
If the minCard value is greater than 0, then isRequired = "true"  
If the minCard = "0" then isRequired = "false"
isSelected xs:boolean optional
isVisible xs:boolean optional
itemNames xs:NMTOKENS required
Required name(s) of the item(s) (Section, Question, List Item) that contains the item properties used in the other attributes.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
supportdatesandIntervals optional
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="AttributeCondition" maxOccurs="unbounded" minOccurs="0" type="GetItemAttribValuesType">
</xs:element>
Element GuardType / MultiSelections
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#SelectionDependencyAttributes SDCFormDesign_xsd.tmp#MultiSelectionSetBoolType
Type MultiSelectionSetBoolType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<MultiSelections allowNull="true" boolOp="AND" name="" not="" order="" selectedItemSet="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</MultiSelections>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
selectedItemSet xs:NMTOKENS required
This list contains names of ListItems (answer choices) that are watched for being selected or unselected.

If a ListItem appears in this list, then it evaluates to true when it is selected.  If a ListItem is prefixed with a hyphen (-), then it evaluates to true when unselected.  These Boolean values, derived from each named ListItem in the list, are ANDed together (by default) to produce a return value of true or false.  The default Boolean operator (AND) may be changed using @boolOp.  If @not = true, then the Boolean result is logically negated.

Renamed from: ListItemSelections
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="MultiSelections" type="MultiSelectionSetBoolType"/>
Element GuardType / IllegalSelectionTest
Namespace urn:ihe:qrph:sdc:2016
Annotations
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType_listItemNames SDCDataTypes_xsd.tmp#not SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType SDCFormDesign_xsd.tmp#RuleSelectionTestType_testItemName SDCFormDesign_xsd.tmp#RuleSelectionTestType
Type RuleSelectionTestType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<IllegalSelectionTest allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" testItemName="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</IllegalSelectionTest>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
listItemNames xs:NMTOKENS required
Set of @name references for a set ListItems, delimited by spaces.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
testItemName xs:NMTOKEN required
The ListItem that is being evaluated for the presence of disallowed selections (in @listItemNames).  This attributes contains the @name of one ListItem.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="IllegalSelectionTest" type="RuleSelectionTestType">
  <xs:annotation>
    <xs:documentation/>
  </xs:annotation>
</xs:element>
Element GuardType / IllegalSelectionSets
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType_listItemNames SDCDataTypes_xsd.tmp#not SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType
Type RuleSingleSelectionSetsType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<IllegalSelectionSets allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</IllegalSelectionSets>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
listItemNames xs:NMTOKENS required
Set of @name references for a set ListItems, delimited by spaces.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="IllegalSelectionSets" maxOccurs="unbounded" minOccurs="0" type="RuleSingleSelectionSetsType">
</xs:element>
Element GuardType / ItemAlternatives
Namespace urn:ihe:qrph:sdc:2016
Annotations
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#not SDCFormDesign_xsd.tmp#AlternativesType_minAnswered SDCFormDesign_xsd.tmp#AlternativesType_maxAnswered SDCFormDesign_xsd.tmp#AlternativesType_itemNames SDCFormDesign_xsd.tmp#AlternativesType
Type AlternativesType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<ItemAlternatives allowNull="true" itemNames="" maxAnswered="0" minAnswered="1" name="" not="false" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</ItemAlternatives>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
itemNames xs:NMTOKENS optional
List of names of Sections, Questions, ListItems and/or InjectedItems.  Each of the named items will evaluate to true or false, based on the following validation rules:

If the name points to a Section, then the Section evaluates to true (valid) if all of its descendant items are answered correctly, according to their metadata.

If the name points to a Question then the Question evaluates to true (valid) if it is correctly answered according to its metadata, and also, all descendant items are answered correctly, according to their metadata.

If the name points to a ListItem then the ListItem evaluates to true (valid) if it is selected, and also, all descendant items are answered correctly according to their metadata.

If the name points to an InjectedItem then the InjectedItem evaluates to true (valid) if all descendant items are answered correctly, according to their metadata.

The number of true responses are added together.  If they satisfy the minAnswered and maxAnswered attribute values, then this type returns true.  Otherwise it returns false.
maxAnswered xs:int 0 optional
@maxAnswered must be 0 or greater than or equal to @minAnswered.
minAnswered xs:int 1 optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="ItemAlternatives" maxOccurs="unbounded" minOccurs="0" type="AlternativesType">
  <xs:annotation>
    <xs:documentation/>
  </xs:annotation>
</xs:element>
Element GuardType / ScriptCondition
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCExpressions_xsd.tmp#ScriptCodeBoolType_language SDCExpressions_xsd.tmp#ScriptCodeBoolType_code SDCExpressions_xsd.tmp#ScriptCodeBoolType_Parameter SDCExpressions_xsd.tmp#ScriptCodeBoolType
Type ScriptCodeBoolType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Parameter, Property
Instance
<ScriptCondition allowNull="true" code="" language="" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Parameter dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{0,unbounded}</Parameter>
</ScriptCondition>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
code xs:string optional
Script contents.
language xs:string optional
Programming language.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="ScriptCondition" maxOccurs="unbounded" minOccurs="0" type="ScriptCodeBoolType">
</xs:element>
Element GuardType / CallBoolCondition
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCExpressions_xsd.tmp#CallBoolFuncType_refName SDCExpressions_xsd.tmp#CallBoolFuncType
Type CallBoolFuncType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<CallBoolCondition allowNull="true" name="" order="" refName="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</CallBoolCondition>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
refName optional
@name of the called function.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="CallBoolCondition" type="CallBoolFuncType"/>
Element GuardType / Group
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#GuardType_AttributeCondition SDCFormDesign_xsd.tmp#GuardType_MultiSelections SDCFormDesign_xsd.tmp#GuardType_IllegalSelectionTest SDCFormDesign_xsd.tmp#GuardType_IllegalSelectionSets SDCFormDesign_xsd.tmp#GuardType_ItemAlternatives SDCFormDesign_xsd.tmp#GuardType_ScriptCondition SDCFormDesign_xsd.tmp#GuardType_CallBoolCondition SDCFormDesign_xsd.tmp#GuardType_Group SDCFormDesign_xsd.tmp#GuardType
Type GuardType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children AttributeCondition, CallBoolCondition, Comment, Extension, Group, IllegalSelectionSets, IllegalSelectionTest, ItemAlternatives, MultiSelections, Property, ScriptCondition
Instance
<Group allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <AttributeCondition allowNull="true" boolOp="AND" hasAssociatedValue="" hasAssociatedValueEQ="" hasAssociatedValueGT="" hasAssociatedValueGTE="" hasAssociatedValueLT="" hasAssociatedValueLTE="" hasResponse="" hasSelectionsExact="" hasSelectionsGTE="" hasSelectionsLTE="" hasStyleClass="" hasType="" hasValueEQ="" hasValueGT="" hasValueGTE="" hasValueLT="" hasValueLTE="" isActive="" isEnabled="" isReadOnly="" isRequired="" isSelected="" isVisible="" itemNames="" name="" not="" order="" styleClass="" supportdatesandIntervals="" type="" val="" validationMessage="">{0,unbounded}</AttributeCondition>
  <MultiSelections allowNull="true" boolOp="AND" name="" not="" order="" selectedItemSet="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</MultiSelections>
  <IllegalSelectionTest allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" testItemName="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionTest>
  <IllegalSelectionSets allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionSets>
  <ItemAlternatives allowNull="true" itemNames="" maxAnswered="0" minAnswered="1" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ItemAlternatives>
  <ScriptCondition allowNull="true" code="" language="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ScriptCondition>
  <CallBoolCondition allowNull="true" name="" order="" refName="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</CallBoolCondition>
  <Group allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</Group>
</Group>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="Group" type="GuardType" minOccurs="0" maxOccurs="unbounded"/>
Element DisplayedType / DeActivateIf
Namespace urn:ihe:qrph:sdc:2016
Annotations
DeActivate the DisplayedType item if the guard conditions are met.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#GuardType_AttributeCondition SDCFormDesign_xsd.tmp#GuardType_MultiSelections SDCFormDesign_xsd.tmp#GuardType_IllegalSelectionTest SDCFormDesign_xsd.tmp#GuardType_IllegalSelectionSets SDCFormDesign_xsd.tmp#GuardType_ItemAlternatives SDCFormDesign_xsd.tmp#GuardType_ScriptCondition SDCFormDesign_xsd.tmp#GuardType_CallBoolCondition SDCFormDesign_xsd.tmp#GuardType_Group SDCFormDesign_xsd.tmp#GuardType
Type GuardType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children AttributeCondition, CallBoolCondition, Comment, Extension, Group, IllegalSelectionSets, IllegalSelectionTest, ItemAlternatives, MultiSelections, Property, ScriptCondition
Instance
<DeActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <AttributeCondition allowNull="true" boolOp="AND" hasAssociatedValue="" hasAssociatedValueEQ="" hasAssociatedValueGT="" hasAssociatedValueGTE="" hasAssociatedValueLT="" hasAssociatedValueLTE="" hasResponse="" hasSelectionsExact="" hasSelectionsGTE="" hasSelectionsLTE="" hasStyleClass="" hasType="" hasValueEQ="" hasValueGT="" hasValueGTE="" hasValueLT="" hasValueLTE="" isActive="" isEnabled="" isReadOnly="" isRequired="" isSelected="" isVisible="" itemNames="" name="" not="" order="" styleClass="" supportdatesandIntervals="" type="" val="" validationMessage="">{0,unbounded}</AttributeCondition>
  <MultiSelections allowNull="true" boolOp="AND" name="" not="" order="" selectedItemSet="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</MultiSelections>
  <IllegalSelectionTest allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" testItemName="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionTest>
  <IllegalSelectionSets allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionSets>
  <ItemAlternatives allowNull="true" itemNames="" maxAnswered="0" minAnswered="1" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ItemAlternatives>
  <ScriptCondition allowNull="true" code="" language="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ScriptCondition>
  <CallBoolCondition allowNull="true" name="" order="" refName="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</CallBoolCondition>
  <Group allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</Group>
</DeActivateIf>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="DeActivateIf" type="GuardType">
  <xs:annotation>
    <xs:documentation>DeActivate the DisplayedType item if the guard conditions are met.</xs:documentation>
  </xs:annotation>
</xs:element>
Element SectionItemType / ChildItems
Namespace urn:ihe:qrph:sdc:2016
Annotations
Child items are of type DisplayedType.  They may include items of type SectionType, QuestionType, InjectFormType, DisplayedType and ButtonType, in any order.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ChildElementsGroup_Section SDCFormDesign_xsd.tmp#ChildElementsGroup_Question SDCFormDesign_xsd.tmp#ChildElementsGroup_DisplayedItem SDCFormDesign_xsd.tmp#ChildElementsGroup_ButtonAction SDCFormDesign_xsd.tmp#ChildElementsGroup_InjectForm SDCFormDesign_xsd.tmp#ChildElementsGroup SDCFormDesign_xsd.tmp#ChildItemsType
Type ChildItemsType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children ButtonAction, Comment, DisplayedItem, Extension, InjectForm, Property, Question, Section
Instance
<ChildItems name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Section baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</Section>
  <Question baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" parentGUID="" readOnly="false" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</Question>
  <DisplayedItem baseURI="" enabled="true" ID="" mustImplement="true" name="" order="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</DisplayedItem>
  <ButtonAction baseURI="" enabled="true" ID="" mustImplement="true" name="" order="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</ButtonAction>
  <InjectForm baseURI="" ID="" name="" order="" pkgBaseURI="" pkgFullURI="" pkgID="" pkgInstanceURI="" pkgInstanceVersionURI="" pkgManagerURI="" rootItemID="" styleClass="" type="" X_injectionID="">{0,1}</InjectForm>
</ChildItems>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="ChildItems" type="ChildItemsType" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Child items are of type DisplayedType. They may include items of type SectionType, QuestionType, InjectFormType, DisplayedType and ButtonType, in any order.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ChildElementsGroup / Section
Namespace urn:ihe:qrph:sdc:2016
Annotations
A Section is a grouper for other types of objects.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#RepeatingType_minCard SDCFormDesign_xsd.tmp#RepeatingType_maxCard SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#RepeatingType SDCFormDesign_xsd.tmp#SectionBaseType_ordered SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#SectionBaseType SDCFormDesign_xsd.tmp#SectionItemType_ChildItems SDCFormDesign_xsd.tmp#SectionItemType
Type SectionItemType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children ActivateIf, BlobContent, ChildItems, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnEnter, OnEvent, OnExit, Property
Instance
<Section baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Link name="" order="" styleClass="" type="">{0,unbounded}</Link>
  <BlobContent fileExtension="" mimeType="" name="" order="" styleClass="" type="">{0,unbounded}</BlobContent>
  <Contact name="" order="" styleClass="" type="">{0,unbounded}</Contact>
  <CodedValue name="" order="" styleClass="" type="">{0,unbounded}</CodedValue>
  <OnEnter allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEnter>
  <OnExit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnExit>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
  <ActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</ActivateIf>
  <DeActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</DeActivateIf>
  <ChildItems name="" order="" styleClass="" type="">{0,1}</ChildItems>
</Section>
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
maxCard xs:unsignedShort 1 optional
@maxCard is the maximum number of repetitions allowed for a section or question.  The default value is 1, indicating that the section or question cannot be repeated on the data entry form.  A value of 0 indicates that the number of repeats is unlimited.  If @maxCard is not 0, then Must be greater than or equal to minCard.
minCard xs:unsignedShort 1 optional
@minCard is the minimum number of repetitions allowed for a section or question.  The default value is 1, indicating that the user must answer any question(s) that has this attribute set.  If @minCard is set to 0, then the item and all descendent questions are optional to answer.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
ordered xs:boolean true optional
If false, then the form implementation may change the order of items in the section.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:element minOccurs="0" name="Section" type="SectionItemType">
  <xs:annotation>
    <xs:documentation>A Section is a grouper for other types of objects.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ChildElementsGroup / Question
Namespace urn:ihe:qrph:sdc:2016
Annotations
A Question may take 3 basic forms:  
QS: single-select answer response
QM: multi-select - more than one answer may be selected
QF: fill-in response; no answer choices are present for selection

QS and QM are associated with a ListField of answer choices.  The ListField may contain a List with ListItems (expicitly stated answer choices), or it may contain a LookupEndpoint field that populates the list from a web service.

See @maxSelections on ListField for information on distinguishing QS from QM.

QF is identified by the presence of a ResponseField child,  which describes how the fill-in response should be recorded.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#RepeatingType_minCard SDCFormDesign_xsd.tmp#RepeatingType_maxCard SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#RepeatingType SDCFormDesign_xsd.tmp#QuestionItemBaseType_readOnly SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#QuestionItemBaseType_ResponseField SDCFormDesign_xsd.tmp#QuestionItemBaseType_ListField SDCFormDesign_xsd.tmp#QuestionItemBaseType SDCFormDesign_xsd.tmp#QuestionItemType_ChildItems SDCFormDesign_xsd.tmp#QuestionItemType
Type QuestionItemType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children ActivateIf, BlobContent, ChildItems, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, ListField, OnEnter, OnEvent, OnExit, Property, ResponseField
Instance
<Question baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" parentGUID="" readOnly="false" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Link name="" order="" styleClass="" type="">{0,unbounded}</Link>
  <BlobContent fileExtension="" mimeType="" name="" order="" styleClass="" type="">{0,unbounded}</BlobContent>
  <Contact name="" order="" styleClass="" type="">{0,unbounded}</Contact>
  <CodedValue name="" order="" styleClass="" type="">{0,unbounded}</CodedValue>
  <OnEnter allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEnter>
  <OnExit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnExit>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
  <ActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</ActivateIf>
  <DeActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</DeActivateIf>
  <ResponseField name="" order="" styleClass="" type="">{1,1}</ResponseField>
  <ListField colTextDelimiter="|" defaultListItemDataType="" maxSelections="1" minSelections="1" name="" numCols="1" order="" ordered="true" storedCol="1" styleClass="" type="">{1,1}</ListField>
  <ChildItems name="" order="" styleClass="" type="">{0,1}</ChildItems>
</Question>
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
maxCard xs:unsignedShort 1 optional
@maxCard is the maximum number of repetitions allowed for a section or question.  The default value is 1, indicating that the section or question cannot be repeated on the data entry form.  A value of 0 indicates that the number of repeats is unlimited.  If @maxCard is not 0, then Must be greater than or equal to minCard.
minCard xs:unsignedShort 1 optional
@minCard is the minimum number of repetitions allowed for a section or question.  The default value is 1, indicating that the user must answer any question(s) that has this attribute set.  If @minCard is set to 0, then the item and all descendent questions are optional to answer.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
readOnly xs:boolean false optional
If @readOnly is set to true, the this field may not be edited by the user, and any default values set by template should be considered part of the stored data set responses, and transmitted by the SubmitForm transaction.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:element minOccurs="0" name="Question" type="QuestionItemType">
  <xs:annotation>
    <xs:documentation>A Question may take 3 basic forms: QS: single-select answer response QM: multi-select - more than one answer may be selected QF: fill-in response; no answer choices are present for selection QS and QM are associated with a ListField of answer choices. The ListField may contain a List with ListItems (expicitly stated answer choices), or it may contain a LookupEndpoint field that populates the list from a web service. See @maxSelections on ListField for information on distinguishing QS from QM. QF is identified by the presence of a ResponseField child, which describes how the fill-in response should be recorded.</xs:documentation>
  </xs:annotation>
</xs:element>
Element QuestionItemBaseType / ResponseField
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ResponseFieldType_Response SDCFormDesign_xsd.tmp#ResponseFieldType_CallSetValue SDCFormDesign_xsd.tmp#ResponseFieldType_SetValue SDCFormDesign_xsd.tmp#ResponseFieldType_TextAfterResponse SDCFormDesign_xsd.tmp#ResponseFieldType_ResponseUnits SDCFormDesign_xsd.tmp#ResponseFieldType_AfterChange SDCFormDesign_xsd.tmp#ResponseFieldType_OnEvent SDCFormDesign_xsd.tmp#ResponseFieldType
Type ResponseFieldType
Type hierarchy
Properties
content complex
minOccurs 1
maxOccurs 1
Model
Children AfterChange, CallSetValue, Comment, Extension, OnEvent, Property, Response, ResponseUnits, SetValue, TextAfterResponse
Instance
<ResponseField name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Response name="" order="" styleClass="" type="">{1,1}</Response>
  <CallSetValue dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</CallSetValue>
  <SetValue code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</SetValue>
  <TextAfterResponse name="" order="" styleClass="" type="" val="">{0,1}</TextAfterResponse>
  <ResponseUnits name="" order="" styleClass="" type="" unitSystem="UCUM" val="">{0,1}</ResponseUnits>
  <AfterChange allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</AfterChange>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
</ResponseField>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="ResponseField" type="ResponseFieldType" minOccurs="1" maxOccurs="1"/>
Element ResponseFieldType / Response
Namespace urn:ihe:qrph:sdc:2016
Annotations
W3C Schema data type details
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#DataTypes_DEType_anyType SDCResources_xsd.tmp#DataTypes_DEType_anyURI SDCResources_xsd.tmp#DataTypes_DEType_base64Binary SDCResources_xsd.tmp#DataTypes_DEType_boolean SDCResources_xsd.tmp#DataTypes_DEType_duration SDCResources_xsd.tmp#DataTypes_DEType_byte SDCResources_xsd.tmp#DataTypes_DEType_date SDCResources_xsd.tmp#DataTypes_DEType_dateTimeStamp SDCResources_xsd.tmp#DataTypes_DEType_decimal SDCResources_xsd.tmp#DataTypes_DEType_dateTime SDCResources_xsd.tmp#DataTypes_DEType_double SDCResources_xsd.tmp#DataTypes_DEType_float SDCResources_xsd.tmp#DataTypes_DEType_gDay SDCResources_xsd.tmp#DataTypes_DEType_gMonth SDCResources_xsd.tmp#DataTypes_DEType_gMonthDay SDCResources_xsd.tmp#DataTypes_DEType_gYear SDCResources_xsd.tmp#DataTypes_DEType_gYearMonth SDCResources_xsd.tmp#DataTypes_DEType_hexBinary SDCResources_xsd.tmp#DataTypes_DEType_HTML SDCResources_xsd.tmp#DataTypes_DEType_int SDCResources_xsd.tmp#DataTypes_DEType_integer SDCResources_xsd.tmp#DataTypes_DEType_long SDCResources_xsd.tmp#DataTypes_DEType_negativeInteger SDCResources_xsd.tmp#DataTypes_DEType_nonNegativeInteger SDCResources_xsd.tmp#DataTypes_DEType_nonPositiveInteger SDCResources_xsd.tmp#DataTypes_DEType_positiveInteger SDCResources_xsd.tmp#DataTypes_DEType_short SDCResources_xsd.tmp#DataTypes_DEType_string SDCResources_xsd.tmp#DataTypes_DEType_time SDCResources_xsd.tmp#DataTypes_DEType_unsignedByte SDCResources_xsd.tmp#DataTypes_DEType_unsignedInt SDCResources_xsd.tmp#DataTypes_DEType_unsignedLong SDCResources_xsd.tmp#DataTypes_DEType_unsignedShort SDCResources_xsd.tmp#DataTypes_DEType_XML SDCResources_xsd.tmp#DataTypes_DEType_yearMonthDuration SDCResources_xsd.tmp#DataTypes_DEType
Type DataTypes_DEType
Type hierarchy
Properties
content complex
minOccurs 1
maxOccurs 1
Model
Children Comment, Extension, HTML, Property, XML, anyType, anyURI, base64Binary, boolean, byte, date, dateTime, dateTimeStamp, decimal, double, duration, float, gDay, gMonth, gMonthDay, gYear, gYearMonth, hexBinary, int, integer, long, negativeInteger, nonNegativeInteger, nonPositiveInteger, positiveInteger, short, string, time, unsignedByte, unsignedInt, unsignedLong, unsignedShort, yearMonthDuration
Instance
<Response name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <anyType maxLength="" minLength="" name="" namespace="" order="" schema="" styleClass="" type="">{1,1}</anyType>
  <anyURI length="" maxLength="" minLength="" name="" order="" pattern="" styleClass="" type="" val="">{1,1}</anyURI>
  <base64Binary maxLength="" mimeType="" minLength="" name="" order="" styleClass="" type="" val="">{1,1}</base64Binary>
  <boolean name="" order="" styleClass="" type="" val="">{1,1}</boolean>
  <duration allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</duration>
  <byte allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</byte>
  <date allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</date>
  <dateTimeStamp mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" styleClass="" type="" val="">{1,1}</dateTimeStamp>
  <decimal allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" fractionDigits="" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</decimal>
  <dateTime mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" styleClass="" type="" val="">{1,1}</dateTime>
  <double allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" fractionDigits="" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</double>
  <float allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" fractionDigits="" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</float>
  <gDay allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</gDay>
  <gMonth allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</gMonth>
  <gMonthDay allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</gMonthDay>
  <gYear allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</gYear>
  <gYearMonth allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</gYearMonth>
  <hexBinary mask="" maxLength="" mimeType="" minLength="" name="" order="" styleClass="" type="" val="">{1,1}</hexBinary>
  <HTML maxLength="" minLength="" name="" order="" styleClass="" type="">{1,1}</HTML>
  <int allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</int>
  <integer allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</integer>
  <long allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</long>
  <negativeInteger allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</negativeInteger>
  <nonNegativeInteger allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</nonNegativeInteger>
  <nonPositiveInteger allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</nonPositiveInteger>
  <positiveInteger allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</positiveInteger>
  <short allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</short>
  <string mask="" maxLength="" minLength="" name="" order="" pattern="" styleClass="" type="" val="">{1,1}</string>
  <time allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</time>
  <unsignedByte allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</unsignedByte>
  <unsignedInt allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</unsignedInt>
  <unsignedLong allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</unsignedLong>
  <unsignedShort allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" totalDigits="" type="" val="">{1,1}</unsignedShort>
  <XML maxLength="" minLength="" name="" order="" schema="" styleClass="" type="">{1,1}</XML>
  <yearMonthDuration allowAPPROX="false" allowGT="false" allowGTE="false" allowLT="false" allowLTE="false" mask="" maxExclusive="" maxInclusive="" minExclusive="" minInclusive="" name="" order="" quantEnum="" styleClass="" type="" val="">{1,1}</yearMonthDuration>
</Response>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="Response" type="DataTypes_DEType" minOccurs="1" maxOccurs="1">
  <xs:annotation>
    <xs:documentation>W3C Schema data type details</xs:documentation>
  </xs:annotation>
</xs:element>
Element ResponseFieldType / CallSetValue
Namespace urn:ihe:qrph:sdc:2016
Annotations
NEW
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#CallFuncType_Function SDCExpressions_xsd.tmp#CallFuncType_Security SDCExpressions_xsd.tmp#ParameterGroup_ParameterRef SDCExpressions_xsd.tmp#ParameterGroup_ParameterValue SDCExpressions_xsd.tmp#ParameterGroup SDCExpressions_xsd.tmp#CallFuncType
Type CallFuncType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Function, ParameterRef, ParameterValue, Property, Security
Instance
<CallSetValue dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Function name="" order="" styleClass="" type="" val="">{1,1}</Function>
  <Security name="" order="" styleClass="" type="" val="">{0,1}</Security>
  <ParameterRef dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{1,1}</ParameterRef>
  <ParameterValue name="" order="" paramName="" styleClass="" type="">{1,1}</ParameterValue>
</CallSetValue>
Attributes
QName Type Default Use Annotation
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="CallSetValue" type="CallFuncType">
  <xs:annotation>
    <xs:documentation>NEW</xs:documentation>
  </xs:annotation>
</xs:element>
Element ResponseFieldType / SetValue
Namespace urn:ihe:qrph:sdc:2016
Annotations
NEW
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#ScriptCodeAnyType_language SDCExpressions_xsd.tmp#ScriptCodeAnyType_code SDCExpressions_xsd.tmp#ScriptCodeAnyType_Parameter SDCExpressions_xsd.tmp#ScriptCodeAnyType
Type ScriptCodeAnyType
Type hierarchy
Properties
content complex
Model
Children Comment, Extension, Parameter, Property
Instance
<SetValue code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Parameter dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{0,unbounded}</Parameter>
</SetValue>
Attributes
QName Type Default Use Annotation
code xs:string optional
Script contents.
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
language xs:string optional
Programming language.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="SetValue" type="ScriptCodeAnyType">
  <xs:annotation>
    <xs:documentation>NEW</xs:documentation>
  </xs:annotation>
</xs:element>
Element ResponseFieldType / TextAfterResponse
Namespace urn:ihe:qrph:sdc:2016
Annotations
TextAfterResponse is fixed text that appears after (to the right of) the user's response on the data entry form.  This may be text for units such as "mm", "cm", etc.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#RichTextType_val SDCResources_xsd.tmp#RichTextType_RichText SDCResources_xsd.tmp#RichTextType
Type RichTextType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs 1
Model
Children Comment, Extension, Property, RichText
Instance
<TextAfterResponse name="" order="" styleClass="" type="" val="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <RichText name="" order="" styleClass="" type="">{1,1}</RichText>
</TextAfterResponse>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:string required
Source
<xs:element name="TextAfterResponse" type="RichTextType" minOccurs="0" maxOccurs="1">
  <xs:annotation>
    <xs:documentation>TextAfterResponse is fixed text that appears after (to the right of) the user's response on the data entry form. This may be text for units such as "mm", "cm", etc.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ResponseFieldType / ResponseUnits
Namespace urn:ihe:qrph:sdc:2016
Annotations
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCDataTypes_xsd.tmp#string_Stype_val SDCDataTypes_xsd.tmp#string_Stype SDCResources_xsd.tmp#UnitsType_unitSystem SDCResources_xsd.tmp#UnitsType
Type UnitsType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs 1
Attributes
QName Type Default Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
unitSystem xs:string UCUM optional
val xs:string optional
Source
<xs:element name="ResponseUnits" minOccurs="0" maxOccurs="1" type="UnitsType">
  <xs:annotation>
    <xs:documentation/>
  </xs:annotation>
</xs:element>
Element ResponseFieldType / AfterChange
Namespace urn:ihe:qrph:sdc:2016
Annotations
Event that occurs after the Response value is changed, usually fired after a user leaves the Response field.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType
Type EventType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<AfterChange allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</AfterChange>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" name="AfterChange" type="EventType" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Event that occurs after the Response value is changed, usually fired after a user leaves the Response field.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ResponseFieldType / OnEvent
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType SDCFormDesign_xsd.tmp#OnEventType_eventName SDCFormDesign_xsd.tmp#OnEventType
Type OnEventType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</OnEvent>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
eventName xs:string required
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="OnEvent" type="OnEventType"/>
Element QuestionItemBaseType / ListField
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ListFieldType_colTextDelimiter SDCFormDesign_xsd.tmp#ListFieldType_numCols SDCFormDesign_xsd.tmp#ListFieldType_storedCol SDCFormDesign_xsd.tmp#ListFieldType_minSelections SDCFormDesign_xsd.tmp#ListFieldType_maxSelections SDCFormDesign_xsd.tmp#ListFieldType_ordered SDCFormDesign_xsd.tmp#ListFieldType_defaultListItemDataType SDCFormDesign_xsd.tmp#ListFieldType_ListHeaderText SDCFormDesign_xsd.tmp#ListFieldType_DefaultCodeSystem SDCFormDesign_xsd.tmp#ListFieldType_List SDCFormDesign_xsd.tmp#ListFieldType_LookupEndPoint SDCFormDesign_xsd.tmp#ListFieldType_IllegalListItemPairings SDCFormDesign_xsd.tmp#ListFieldType_IllegalCoSelectedListItems SDCFormDesign_xsd.tmp#ListFieldType_AfterChange SDCFormDesign_xsd.tmp#ListFieldType_OnEvent SDCFormDesign_xsd.tmp#ListFieldType
Type ListFieldType
Type hierarchy
Properties
content complex
minOccurs 1
maxOccurs 1
Model
Children AfterChange, Comment, DefaultCodeSystem, Extension, IllegalCoSelectedListItems, IllegalListItemPairings, List, ListHeaderText, LookupEndPoint, OnEvent, Property
Instance
<ListField colTextDelimiter="|" defaultListItemDataType="" maxSelections="1" minSelections="1" name="" numCols="1" order="" ordered="true" storedCol="1" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <ListHeaderText name="" order="" styleClass="" type="" val="">{0,1}</ListHeaderText>
  <DefaultCodeSystem name="" order="" styleClass="" type="">{0,1}</DefaultCodeSystem>
  <List name="" order="" styleClass="" type="">{1,1}</List>
  <LookupEndPoint dataTypeListAll="" includesHeaderRow="false" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</LookupEndPoint>
  <IllegalListItemPairings allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" testItemName="" type="" val="" validationMessage="">{0,unbounded}</IllegalListItemPairings>
  <IllegalCoSelectedListItems allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</IllegalCoSelectedListItems>
  <AfterChange allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</AfterChange>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
</ListField>
Attributes
QName Type Default Use Annotation
colTextDelimiter restriction of xs:string | optional
Character in the DisplayText that separates the columns and rows in a single or multi-column list.
defaultListItemDataType DataTypeAll_StypeEnum optional
Data type enumeration derived from W3C XML Schema.  This element is used only if the ListItems are all associated with coded values from a single coding system.
maxSelections xs:unsignedShort 1 optional
Maximum number of answer choices (list items) that can be selected by the user.  Must be greater than or equal to minSelections, and no larger than the total number of list items.  

A value of 0 indicates no limit to the number of selected list items (answers).  This effectively means that the question is multi-select. (Abbreviated as QM)

A value of 1 (the default) indicates that the question list is single-select.  (Abbreviated as QS)
minSelections restriction of xs:unsignedShort 1 optional
Minimum number of answer choices (list items) that must be selected by the user.  Default value is 1.

NEW: changed minimum value to 1.
Removed: If set to 0, then this question need not be answered by the user.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
numCols xs:unsignedByte 1 optional
Number of columns in the list
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
ordered xs:boolean true optional
If false, then the form implementation may change the order of items in the list.
storedCol xs:unsignedByte 1 optional
Determines which column of the list is stored in a database.  This list is one-based.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="ListField" minOccurs="1" maxOccurs="1" type="ListFieldType">
</xs:element>
Element ListFieldType / ListHeaderText
Namespace urn:ihe:qrph:sdc:2016
Annotations
The header row for a set of list items.  If the list has more than one column, the column text is separated by the colTextDelimiter.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#RichTextType_val SDCResources_xsd.tmp#RichTextType_RichText SDCResources_xsd.tmp#RichTextType
Type RichTextType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Comment, Extension, Property, RichText
Instance
<ListHeaderText name="" order="" styleClass="" type="" val="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <RichText name="" order="" styleClass="" type="">{1,1}</RichText>
</ListHeaderText>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:string required
Source
<xs:element minOccurs="0" name="ListHeaderText" type="RichTextType">
  <xs:annotation>
    <xs:documentation>The header row for a set of list items. If the list has more than one column, the column text is separated by the colTextDelimiter.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ListFieldType / DefaultCodeSystem
Namespace urn:ihe:qrph:sdc:2016
Annotations
If coded values are used for items in a List (including ListItem and LookupEndPoint lists), then the default coding system should be specified here.  For ListItem nodes, any exceptions to the coding system may be specified on the individual ListItem nodes.  For LookupEndPoints, the endpoint data can optionally specify any exceptions in a dedicated CodeSystem column in the returned list data.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#CodeSystemType_CodeSystemName SDCResources_xsd.tmp#CodeSystemType_ReleaseDate SDCResources_xsd.tmp#CodeSystemType_Version SDCResources_xsd.tmp#CodeSystemType_OID SDCResources_xsd.tmp#CodeSystemType_CodeSystemURI SDCResources_xsd.tmp#CodeSystemType
Type CodeSystemType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs 1
Model
Children CodeSystemName, CodeSystemURI, Comment, Extension, OID, Property, ReleaseDate, Version
Instance
<DefaultCodeSystem name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <CodeSystemName name="" order="" styleClass="" type="" val="">{1,1}</CodeSystemName>
  <ReleaseDate name="" order="" quantEnum="" styleClass="" type="" val="">{0,1}</ReleaseDate>
  <Version name="" order="" styleClass="" type="" val="">{0,1}</Version>
  <OID name="" order="" styleClass="" type="" val="">{0,1}</OID>
  <CodeSystemURI name="" order="" styleClass="" type="" val="">{0,1}</CodeSystemURI>
</DefaultCodeSystem>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element maxOccurs="1" minOccurs="0" name="DefaultCodeSystem" type="CodeSystemType">
  <xs:annotation>
    <xs:documentation>If coded values are used for items in a List (including ListItem and LookupEndPoint lists), then the default coding system should be specified here. For ListItem nodes, any exceptions to the coding system may be specified on the individual ListItem nodes. For LookupEndPoints, the endpoint data can optionally specify any exceptions in a dedicated CodeSystem column in the returned list data.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ListFieldType / List
Namespace urn:ihe:qrph:sdc:2016
Annotations
List refers to a set of possible answer choices for the user to select.  Child DisplayedItems may be interspersed with Child ListItems.  At least one ListItem must be present for a multi-select question, and at least two ListItems must pre present for single-select questions.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ListType_DisplayedItem SDCFormDesign_xsd.tmp#ListType_ListItem SDCFormDesign_xsd.tmp#ListType
Type ListType
Type hierarchy
Properties
content complex
Model
Children Comment, DisplayedItem, Extension, ListItem, Property
Instance
<List name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <DisplayedItem baseURI="" enabled="true" ID="" mustImplement="true" name="" order="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</DisplayedItem>
  <ListItem associatedValue="" associatedValueType="" baseURI="" enabled="true" ID="" instanceGUID="" mustImplement="true" name="" omitWhenSelected="false" order="" parentGUID="" repeat="1" selected="false" selectionActivatesItems="" selectionDeselectsSiblings="false" selectionDisablesChildren="false" selectionSelectsListItems="" showInReport="True" styleClass="" title="" type="" visible="true">{1,1}</ListItem>
</List>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="List" type="ListType">
  <xs:annotation>
    <xs:documentation>List refers to a set of possible answer choices for the user to select. Child DisplayedItems may be interspersed with Child ListItems. At least one ListItem must be present for a multi-select question, and at least two ListItems must pre present for single-select questions.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ListType / DisplayedItem
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType
Type DisplayedType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children ActivateIf, BlobContent, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnEnter, OnEvent, OnExit, Property
Instance
<DisplayedItem baseURI="" enabled="true" ID="" mustImplement="true" name="" order="" showInReport="True" styleClass="" title="" type="" visible="true" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Link name="" order="" styleClass="" type="">{0,unbounded}</Link>
  <BlobContent fileExtension="" mimeType="" name="" order="" styleClass="" type="">{0,unbounded}</BlobContent>
  <Contact name="" order="" styleClass="" type="">{0,unbounded}</Contact>
  <CodedValue name="" order="" styleClass="" type="">{0,unbounded}</CodedValue>
  <OnEnter allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEnter>
  <OnExit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnExit>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
  <ActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</ActivateIf>
  <DeActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</DeActivateIf>
</DisplayedItem>
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:element minOccurs="0" name="DisplayedItem" type="DisplayedType"/>
Element ListType / ListItem
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#ListItemBaseType_selected SDCFormDesign_xsd.tmp#ListItemBaseType_selectionDisablesChildren SDCFormDesign_xsd.tmp#ListItemBaseType_selectionActivatesItems SDCFormDesign_xsd.tmp#ListItemBaseType_selectionSelectsListItems SDCFormDesign_xsd.tmp#ListItemBaseType_selectionDeselectsSiblings SDCFormDesign_xsd.tmp#ListItemBaseType_omitWhenSelected SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#ListItemBaseType_associatedValue SDCFormDesign_xsd.tmp#ListItemBaseType_associatedValueType SDCFormDesign_xsd.tmp#ListItemBaseType_ListItemResponseField SDCFormDesign_xsd.tmp#ListItemBaseType_OnSelect SDCFormDesign_xsd.tmp#ListItemBaseType_OnDeselect SDCFormDesign_xsd.tmp#ListItemBaseType_SelectIf SDCFormDesign_xsd.tmp#ListItemBaseType_DeselectIf SDCFormDesign_xsd.tmp#ListItemBaseType SDCFormDesign_xsd.tmp#ListItemType_ChildItems SDCFormDesign_xsd.tmp#ListItemType
Type ListItemType
Type hierarchy
Properties
content complex
minOccurs 1
maxOccurs 1
Model
Children ActivateIf, BlobContent, ChildItems, CodedValue, Comment, Contact, DeActivateIf, DeselectIf, Extension, Link, ListItemResponseField, OnDeselect, OnEnter, OnEvent, OnExit, OnSelect, Property, SelectIf
Instance
<ListItem associatedValue="" associatedValueType="" baseURI="" enabled="true" ID="" instanceGUID="" mustImplement="true" name="" omitWhenSelected="false" order="" parentGUID="" repeat="1" selected="false" selectionActivatesItems="" selectionDeselectsSiblings="false" selectionDisablesChildren="false" selectionSelectsListItems="" showInReport="True" styleClass="" title="" type="" visible="true" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Link name="" order="" styleClass="" type="">{0,unbounded}</Link>
  <BlobContent fileExtension="" mimeType="" name="" order="" styleClass="" type="">{0,unbounded}</BlobContent>
  <Contact name="" order="" styleClass="" type="">{0,unbounded}</Contact>
  <CodedValue name="" order="" styleClass="" type="">{0,unbounded}</CodedValue>
  <OnEnter allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEnter>
  <OnExit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnExit>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
  <ActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</ActivateIf>
  <DeActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</DeActivateIf>
  <ListItemResponseField name="" order="" responseRequired="false" styleClass="" type="">{0,1}</ListItemResponseField>
  <OnSelect allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnSelect>
  <OnDeselect allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnDeselect>
  <SelectIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</SelectIf>
  <DeselectIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</DeselectIf>
  <ChildItems name="" order="" styleClass="" type="">{0,1}</ChildItems>
</ListItem>
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
associatedValue xs:string optional
A typed value (e.g., an integer) that is uniquely associated with a ListItem.  An example is the integer 10 for a ListItem with title that reads "10 o'clock".  Typically these values are set to be used in calculations or other algorithms.  In general, they can be treated something like a user-entered response on a the ListItemResponseField of a selected ListItem.

This field should not be used for terminologies or local codes.  The CodedValue type should be used for these kinds of metadata.  This field should also not be used other properties such as translations, usage, etc.

The data type shoudl be specified in @AssociatedValueType
associatedValueType DataTypeAll_StypeEnum optional
The data type of @AssociatedValue.  Default is string.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
omitWhenSelected xs:boolean false optional
NEW: 

If @omitWhenSelected is set to true, then the question and its response(s) should not be present in a typical  report derived from this template.  This attribute is usually set to true when the answer choice is used to control form behavior (e.g., skip logic), or when the question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed or could not be assessed.  If @omitWhenSelectedset is false (default) then the question and its response(s) should appear in the report.  Added 11/29/15 to replace @reportAction
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
selected xs:boolean false optional
Represents the default value of the ListItem in the FormDesign template, or the user's response in selecting one or more ListItems.  If @multiSelect='false' on ListField then only one item may be selected.
selectionActivatesItems xs:NMTOKENS optional
NEW
Selecting the current ListItem will enable the named items in this attribute's content.

Prefixing any named with a hyphen (-) will reverse the above behaviour (i.e., the named items will be disabled).

Unselecting the ListItem will reverse this behaviour.
Prefixing the name with a tilde (~) will supress this reversal behavior.
selectionDeselectsSiblings xs:boolean false optional
If the ancestor ListField has @multiselect = 'true', then selecting this ListItem should de-select all other ListItem (sibling) nodes except the current one.
selectionDisablesChildren xs:boolean false optional
If set to true, then selecting this ListItem must deactivate all descendant parts of the form, and ignore any user-entered values in the deactivated part.  Deselecting the ListItem should reactivate the descendant items in their state at the time the items were deactivated.

If items are disabled, then any data stored in the disabled questions should be removed.
selectionSelectsListItems xs:NMTOKENS optional
NEW
Selecting the current ListItem will select the named ListItems in this attribute's content.

Prefixing any named with a hyphen (-) will reverse the above behaviour.

Unselecting the ListItem will reverse this behaviour.
Prefixing the name with a tilde (~) will suppress this reversal behavior.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:element name="ListItem" type="ListItemType" minOccurs="1" maxOccurs="1"/>
Element ListItemBaseType / ListItemResponseField
Namespace urn:ihe:qrph:sdc:2016
Annotations
A place to enter values (of any data type) that are directly associated with, and attached to, a selected answer choice.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ResponseFieldType_Response SDCFormDesign_xsd.tmp#ResponseFieldType_CallSetValue SDCFormDesign_xsd.tmp#ResponseFieldType_SetValue SDCFormDesign_xsd.tmp#ResponseFieldType_TextAfterResponse SDCFormDesign_xsd.tmp#ResponseFieldType_ResponseUnits SDCFormDesign_xsd.tmp#ResponseFieldType_AfterChange SDCFormDesign_xsd.tmp#ResponseFieldType_OnEvent SDCFormDesign_xsd.tmp#ResponseFieldType SDCFormDesign_xsd.tmp#ListItemResponseFieldType_responseRequired SDCFormDesign_xsd.tmp#ListItemResponseFieldType
Type ListItemResponseFieldType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs 1
Model
Children AfterChange, CallSetValue, Comment, Extension, OnEvent, Property, Response, ResponseUnits, SetValue, TextAfterResponse
Instance
<ListItemResponseField name="" order="" responseRequired="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Response name="" order="" styleClass="" type="">{1,1}</Response>
  <CallSetValue dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</CallSetValue>
  <SetValue code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</SetValue>
  <TextAfterResponse name="" order="" styleClass="" type="" val="">{0,1}</TextAfterResponse>
  <ResponseUnits name="" order="" styleClass="" type="" unitSystem="UCUM" val="">{0,1}</ResponseUnits>
  <AfterChange allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</AfterChange>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
</ListItemResponseField>
Attributes
QName Type Default Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
responseRequired xs:boolean false optional
If @responseRequired is set to true, then the appropriate text or Blob must be entered in the data-entry field associated with this list item.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="ListItemResponseField" minOccurs="0" maxOccurs="1" type="ListItemResponseFieldType">
  <xs:annotation>
    <xs:documentation>A place to enter values (of any data type) that are directly associated with, and attached to, a selected answer choice.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ListItemBaseType / OnSelect
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType
Type EventType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<OnSelect allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</OnSelect>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="OnSelect" maxOccurs="unbounded" minOccurs="0" type="EventType">
</xs:element>
Element ListItemBaseType / OnDeselect
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType
Type EventType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<OnDeselect allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</OnDeselect>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="OnDeselect" maxOccurs="unbounded" minOccurs="0" type="EventType">
</xs:element>
Element ListItemBaseType / SelectIf
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#GuardType_AttributeCondition SDCFormDesign_xsd.tmp#GuardType_MultiSelections SDCFormDesign_xsd.tmp#GuardType_IllegalSelectionTest SDCFormDesign_xsd.tmp#GuardType_IllegalSelectionSets SDCFormDesign_xsd.tmp#GuardType_ItemAlternatives SDCFormDesign_xsd.tmp#GuardType_ScriptCondition SDCFormDesign_xsd.tmp#GuardType_CallBoolCondition SDCFormDesign_xsd.tmp#GuardType_Group SDCFormDesign_xsd.tmp#GuardType
Type GuardType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children AttributeCondition, CallBoolCondition, Comment, Extension, Group, IllegalSelectionSets, IllegalSelectionTest, ItemAlternatives, MultiSelections, Property, ScriptCondition
Instance
<SelectIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <AttributeCondition allowNull="true" boolOp="AND" hasAssociatedValue="" hasAssociatedValueEQ="" hasAssociatedValueGT="" hasAssociatedValueGTE="" hasAssociatedValueLT="" hasAssociatedValueLTE="" hasResponse="" hasSelectionsExact="" hasSelectionsGTE="" hasSelectionsLTE="" hasStyleClass="" hasType="" hasValueEQ="" hasValueGT="" hasValueGTE="" hasValueLT="" hasValueLTE="" isActive="" isEnabled="" isReadOnly="" isRequired="" isSelected="" isVisible="" itemNames="" name="" not="" order="" styleClass="" supportdatesandIntervals="" type="" val="" validationMessage="">{0,unbounded}</AttributeCondition>
  <MultiSelections allowNull="true" boolOp="AND" name="" not="" order="" selectedItemSet="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</MultiSelections>
  <IllegalSelectionTest allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" testItemName="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionTest>
  <IllegalSelectionSets allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionSets>
  <ItemAlternatives allowNull="true" itemNames="" maxAnswered="0" minAnswered="1" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ItemAlternatives>
  <ScriptCondition allowNull="true" code="" language="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ScriptCondition>
  <CallBoolCondition allowNull="true" name="" order="" refName="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</CallBoolCondition>
  <Group allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</Group>
</SelectIf>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="SelectIf" minOccurs="0" type="GuardType">
</xs:element>
Element ListItemBaseType / DeselectIf
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#GuardType_AttributeCondition SDCFormDesign_xsd.tmp#GuardType_MultiSelections SDCFormDesign_xsd.tmp#GuardType_IllegalSelectionTest SDCFormDesign_xsd.tmp#GuardType_IllegalSelectionSets SDCFormDesign_xsd.tmp#GuardType_ItemAlternatives SDCFormDesign_xsd.tmp#GuardType_ScriptCondition SDCFormDesign_xsd.tmp#GuardType_CallBoolCondition SDCFormDesign_xsd.tmp#GuardType_Group SDCFormDesign_xsd.tmp#GuardType
Type GuardType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children AttributeCondition, CallBoolCondition, Comment, Extension, Group, IllegalSelectionSets, IllegalSelectionTest, ItemAlternatives, MultiSelections, Property, ScriptCondition
Instance
<DeselectIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <AttributeCondition allowNull="true" boolOp="AND" hasAssociatedValue="" hasAssociatedValueEQ="" hasAssociatedValueGT="" hasAssociatedValueGTE="" hasAssociatedValueLT="" hasAssociatedValueLTE="" hasResponse="" hasSelectionsExact="" hasSelectionsGTE="" hasSelectionsLTE="" hasStyleClass="" hasType="" hasValueEQ="" hasValueGT="" hasValueGTE="" hasValueLT="" hasValueLTE="" isActive="" isEnabled="" isReadOnly="" isRequired="" isSelected="" isVisible="" itemNames="" name="" not="" order="" styleClass="" supportdatesandIntervals="" type="" val="" validationMessage="">{0,unbounded}</AttributeCondition>
  <MultiSelections allowNull="true" boolOp="AND" name="" not="" order="" selectedItemSet="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</MultiSelections>
  <IllegalSelectionTest allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" testItemName="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionTest>
  <IllegalSelectionSets allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionSets>
  <ItemAlternatives allowNull="true" itemNames="" maxAnswered="0" minAnswered="1" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ItemAlternatives>
  <ScriptCondition allowNull="true" code="" language="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ScriptCondition>
  <CallBoolCondition allowNull="true" name="" order="" refName="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</CallBoolCondition>
  <Group allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</Group>
</DeselectIf>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="DeselectIf" minOccurs="0" type="GuardType">
</xs:element>
Element ListItemType / ChildItems
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ChildElementsGroup_Section SDCFormDesign_xsd.tmp#ChildElementsGroup_Question SDCFormDesign_xsd.tmp#ChildElementsGroup_DisplayedItem SDCFormDesign_xsd.tmp#ChildElementsGroup_ButtonAction SDCFormDesign_xsd.tmp#ChildElementsGroup_InjectForm SDCFormDesign_xsd.tmp#ChildElementsGroup SDCFormDesign_xsd.tmp#ChildItemsType
Type ChildItemsType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children ButtonAction, Comment, DisplayedItem, Extension, InjectForm, Property, Question, Section
Instance
<ChildItems name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Section baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</Section>
  <Question baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" parentGUID="" readOnly="false" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</Question>
  <DisplayedItem baseURI="" enabled="true" ID="" mustImplement="true" name="" order="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</DisplayedItem>
  <ButtonAction baseURI="" enabled="true" ID="" mustImplement="true" name="" order="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</ButtonAction>
  <InjectForm baseURI="" ID="" name="" order="" pkgBaseURI="" pkgFullURI="" pkgID="" pkgInstanceURI="" pkgInstanceVersionURI="" pkgManagerURI="" rootItemID="" styleClass="" type="" X_injectionID="">{0,1}</InjectForm>
</ChildItems>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="ChildItems" type="ChildItemsType" minOccurs="0"/>
Element ListFieldType / LookupEndPoint
Namespace urn:ihe:qrph:sdc:2016
Annotations
LookupEndPoint is used when the list items are derived from a web service call of some type, instead of an explicit set of ListItem nodes specified in the FormDesign XML. The endpoint must return a list separated into individual list items by the @colTextDelimiter value specified in the parent ListFieldType.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#CallFuncType_Function SDCExpressions_xsd.tmp#CallFuncType_Security SDCExpressions_xsd.tmp#ParameterGroup_ParameterRef SDCExpressions_xsd.tmp#ParameterGroup_ParameterValue SDCExpressions_xsd.tmp#ParameterGroup SDCExpressions_xsd.tmp#CallFuncType SDCFormDesign_xsd.tmp#LookupEndPointType_includesHeaderRow SDCFormDesign_xsd.tmp#LookupEndPointType_ResponseValue SDCFormDesign_xsd.tmp#LookupEndPointType
Type LookupEndPointType
Type hierarchy
Properties
content complex
minOccurs 1
maxOccurs 1
Model
Children Comment, Extension, Function, ParameterRef, ParameterValue, Property, ResponseValue, Security
Instance
<LookupEndPoint dataTypeListAll="" includesHeaderRow="false" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Function name="" order="" styleClass="" type="" val="">{1,1}</Function>
  <Security name="" order="" styleClass="" type="" val="">{0,1}</Security>
  <ParameterRef dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{1,1}</ParameterRef>
  <ParameterValue name="" order="" paramName="" styleClass="" type="">{1,1}</ParameterValue>
  <ResponseValue name="" order="" styleClass="" type="">{0,unbounded}</ResponseValue>
</LookupEndPoint>
Attributes
QName Type Default Use Annotation
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
includesHeaderRow xs:boolean false optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="LookupEndPoint" minOccurs="1" maxOccurs="1" type="LookupEndPointType">
  <xs:annotation>
    <xs:documentation>LookupEndPoint is used when the list items are derived from a web service call of some type, instead of an explicit set of ListItem nodes specified in the FormDesign XML. The endpoint must return a list separated into individual list items by the @colTextDelimiter value specified in the parent ListFieldType.</xs:documentation>
  </xs:annotation>
</xs:element>
Element LookupEndPointType / ResponseValue
Namespace urn:ihe:qrph:sdc:2016
Annotations
The user's response to the lookup list.  The response is recorded as a coding, terminology, classification, keyword, or local value.  Multiple selections from the lookup list may be allowed.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#CodingType_Code SDCResources_xsd.tmp#CodingType_TypedValue SDCResources_xsd.tmp#CodingType_CodeText SDCResources_xsd.tmp#CodingType_CodeMatch SDCResources_xsd.tmp#CodingType_CodeSystem SDCResources_xsd.tmp#CodingType_CodeURI SDCResources_xsd.tmp#CodingType_Units SDCResources_xsd.tmp#CodingType
Type CodingType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Code, CodeMatch, CodeSystem, CodeText, CodeURI, Comment, Extension, Property, TypedValue, Units
Instance
<ResponseValue name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Code name="" order="" styleClass="" type="" val="">{1,1}</Code>
  <TypedValue name="" order="" styleClass="" type="">{0,1}</TypedValue>
  <CodeText name="" order="" styleClass="" type="" val="">{0,1}</CodeText>
  <CodeMatch codeMatchEnum="Exact Code Match" name="" order="" styleClass="" type="">{0,1}</CodeMatch>
  <CodeSystem name="" order="" styleClass="" type="">{0,1}</CodeSystem>
  <CodeURI name="" order="" styleClass="" type="" val="">{0,1}</CodeURI>
  <Units name="" order="" styleClass="" type="" unitSystem="UCUM" val="">{0,1}</Units>
</ResponseValue>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="ResponseValue" type="CodingType">
  <xs:annotation>
    <xs:documentation>The user's response to the lookup list. The response is recorded as a coding, terminology, classification, keyword, or local value. Multiple selections from the lookup list may be allowed.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ListFieldType / IllegalListItemPairings
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType_listItemNames SDCDataTypes_xsd.tmp#not SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType SDCFormDesign_xsd.tmp#RuleSelectionTestType_testItemName SDCFormDesign_xsd.tmp#RuleSelectionTestType
Type RuleSelectionTestType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<IllegalListItemPairings allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" testItemName="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</IllegalListItemPairings>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
listItemNames xs:NMTOKENS required
Set of @name references for a set ListItems, delimited by spaces.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
testItemName xs:NMTOKEN required
The ListItem that is being evaluated for the presence of disallowed selections (in @listItemNames).  This attributes contains the @name of one ListItem.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="IllegalListItemPairings" type="RuleSelectionTestType"/>
Element ListFieldType / IllegalCoSelectedListItems
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType_listItemNames SDCDataTypes_xsd.tmp#not SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType
Type RuleSingleSelectionSetsType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<IllegalCoSelectedListItems allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</IllegalCoSelectedListItems>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
listItemNames xs:NMTOKENS required
Set of @name references for a set ListItems, delimited by spaces.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="IllegalCoSelectedListItems" type="RuleSingleSelectionSetsType"/>
Element ListFieldType / AfterChange
Namespace urn:ihe:qrph:sdc:2016
Annotations
Event that occurs after List Field selections are changed.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType
Type EventType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<AfterChange allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</AfterChange>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="AfterChange" maxOccurs="unbounded" type="EventType">
  <xs:annotation>
    <xs:documentation>Event that occurs after List Field selections are changed.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ListFieldType / OnEvent
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType SDCFormDesign_xsd.tmp#OnEventType_eventName SDCFormDesign_xsd.tmp#OnEventType
Type OnEventType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</OnEvent>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
eventName xs:string required
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="OnEvent" type="OnEventType"/>
Element QuestionItemType / ChildItems
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ChildElementsGroup_Section SDCFormDesign_xsd.tmp#ChildElementsGroup_Question SDCFormDesign_xsd.tmp#ChildElementsGroup_DisplayedItem SDCFormDesign_xsd.tmp#ChildElementsGroup_ButtonAction SDCFormDesign_xsd.tmp#ChildElementsGroup_InjectForm SDCFormDesign_xsd.tmp#ChildElementsGroup SDCFormDesign_xsd.tmp#ChildItemsType
Type ChildItemsType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children ButtonAction, Comment, DisplayedItem, Extension, InjectForm, Property, Question, Section
Instance
<ChildItems name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Section baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</Section>
  <Question baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" parentGUID="" readOnly="false" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</Question>
  <DisplayedItem baseURI="" enabled="true" ID="" mustImplement="true" name="" order="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</DisplayedItem>
  <ButtonAction baseURI="" enabled="true" ID="" mustImplement="true" name="" order="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</ButtonAction>
  <InjectForm baseURI="" ID="" name="" order="" pkgBaseURI="" pkgFullURI="" pkgID="" pkgInstanceURI="" pkgInstanceVersionURI="" pkgManagerURI="" rootItemID="" styleClass="" type="" X_injectionID="">{0,1}</InjectForm>
</ChildItems>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="ChildItems" type="ChildItemsType" minOccurs="0"/>
Element ChildElementsGroup / DisplayedItem
Namespace urn:ihe:qrph:sdc:2016
Annotations
The DisplayedItem contains title, Blob (Binary Large Object), and/or Link content, and may also include Contacts and CodedValues that relate to the Note/Blob/Link objects.  DisplayedItems may be interspersed with other MainItems or ListItem nodes.  The parent items may be Section, Question, and ListItem.  However, DisplayedItems are not "attached" to any specific item Section, Question, or ListItem.  Instead they are free-floating items that can appear anywhere on a form, such as between ListItem nodes.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType
Type DisplayedType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children ActivateIf, BlobContent, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnEnter, OnEvent, OnExit, Property
Instance
<DisplayedItem baseURI="" enabled="true" ID="" mustImplement="true" name="" order="" showInReport="True" styleClass="" title="" type="" visible="true" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Link name="" order="" styleClass="" type="">{0,unbounded}</Link>
  <BlobContent fileExtension="" mimeType="" name="" order="" styleClass="" type="">{0,unbounded}</BlobContent>
  <Contact name="" order="" styleClass="" type="">{0,unbounded}</Contact>
  <CodedValue name="" order="" styleClass="" type="">{0,unbounded}</CodedValue>
  <OnEnter allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEnter>
  <OnExit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnExit>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
  <ActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</ActivateIf>
  <DeActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</DeActivateIf>
</DisplayedItem>
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:element minOccurs="0" name="DisplayedItem" type="DisplayedType">
  <xs:annotation>
    <xs:documentation>The DisplayedItem contains title, Blob (Binary Large Object), and/or Link content, and may also include Contacts and CodedValues that relate to the Note/Blob/Link objects. DisplayedItems may be interspersed with other MainItems or ListItem nodes. The parent items may be Section, Question, and ListItem. However, DisplayedItems are not "attached" to any specific item Section, Question, or ListItem. Instead they are free-floating items that can appear anywhere on a form, such as between ListItem nodes.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ChildElementsGroup / ButtonAction
Namespace urn:ihe:qrph:sdc:2016
Annotations
A Button is a visible area that can be selected ("clicked") to trigger event code to perform an action.  It is ordinarily implemented with an image that looks like a rectangular button object, but a button can look like anything.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#ButtonItemType_OnClick SDCFormDesign_xsd.tmp#ButtonItemType
Type ButtonItemType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children ActivateIf, BlobContent, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnClick, OnEnter, OnEvent, OnExit, Property
Instance
<ButtonAction baseURI="" enabled="true" ID="" mustImplement="true" name="" order="" showInReport="True" styleClass="" title="" type="" visible="true" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Link name="" order="" styleClass="" type="">{0,unbounded}</Link>
  <BlobContent fileExtension="" mimeType="" name="" order="" styleClass="" type="">{0,unbounded}</BlobContent>
  <Contact name="" order="" styleClass="" type="">{0,unbounded}</Contact>
  <CodedValue name="" order="" styleClass="" type="">{0,unbounded}</CodedValue>
  <OnEnter allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEnter>
  <OnExit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnExit>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
  <ActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</ActivateIf>
  <DeActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</DeActivateIf>
  <OnClick allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</OnClick>
</ButtonAction>
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:element minOccurs="0" name="ButtonAction" type="ButtonItemType">
  <xs:annotation>
    <xs:documentation>A Button is a visible area that can be selected ("clicked") to trigger event code to perform an action. It is ordinarily implemented with an image that looks like a rectangular button object, but a button can look like anything.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ButtonItemType / OnClick
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType
Type EventType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<OnClick allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</OnClick>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="OnClick" type="EventType"/>
Element ChildElementsGroup / InjectForm
Namespace urn:ihe:qrph:sdc:2016
Annotations
InjectForm is a link to a form (or portion of a form) that is imported into the current form at specific sites.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#InjectFormType_pkgID SDCFormDesign_xsd.tmp#InjectFormType_pkgInstanceURI SDCFormDesign_xsd.tmp#InjectFormType_pkgInstanceVersionURI SDCFormDesign_xsd.tmp#InjectFormType_pkgBaseURI SDCFormDesign_xsd.tmp#InjectFormType_pkgFullURI SDCFormDesign_xsd.tmp#InjectFormType_pkgManagerURI SDCFormDesign_xsd.tmp#InjectFormType_rootItemID SDCFormDesign_xsd.tmp#InjectFormType_X_injectionID SDCFormDesign_xsd.tmp#InjectFormType_Section SDCFormDesign_xsd.tmp#InjectFormType_Question SDCFormDesign_xsd.tmp#InjectFormType_FormDesign SDCFormDesign_xsd.tmp#InjectFormType
Type InjectFormType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Comment, Extension, FormDesign, Property, Question, Section
Instance
<InjectForm baseURI="" ID="" name="" order="" pkgBaseURI="" pkgFullURI="" pkgID="" pkgInstanceURI="" pkgInstanceVersionURI="" pkgManagerURI="" rootItemID="" styleClass="" type="" X_injectionID="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Section baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{1,1}</Section>
  <Question baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" parentGUID="" readOnly="false" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{1,1}</Question>
  <FormDesign basedOnURI="" baseURI="" filename="" formInstanceURI="" formInstanceVersionURI="" formPreviousInstanceVersionURI="" formTitle="" fullURI="" ID="" lineage="" name="" order="" prevVersionURI="" responseStatusEnum="" responseTypeEnum="" styleClass="" type="" version="">{1,1}</FormDesign>
</InjectForm>
Attributes
QName Type Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
X_injectionID xs:string optional
Unique ID (GUID) to distinguish multiple instances of the same injected node.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
pkgBaseURI URI_Atype optional
DRAFT: The baseURI of the package, whihc indicates the home source of the package.  The formManagerURP + pkgBaseURI + pkgID are concatenated to retrieve an empty form.  formManagerURP + pkgBaseURI + pkgInstanceVersionURI are concatenated to retrieve a specific version of a populated form.  formManagerURP + pkgBaseURI + pkgInstanceURI are concatenated to retrieve the latest instance of a populated form.
pkgFullURI URI_Atype optional
DRAFT: The injected package is retrieved form formManagerURI + "/" + pkgFullURI
pkgID URI_Atype optional
This ID represents the Package that contains the form to be injected.  The package may contain an empty form or a form containing responses.
pkgInstanceURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a package.  Used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI does not change for each edit session of a package instance.
pkgInstanceVersionURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a package's saved responses.  It is used for tracking package responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit/save session of a package instance.  It may be e.g., a new GUID, or a repeat of the pkgInstanceID followed by a version number.
pkgManagerURI URI_Atype optional
The server from which the injected package will be retrieved.
rootItemID URI_Atype optional
The rootItemID is the ID of the form part that will be injected.  If empty, then the entre form should be injected as the FormDesign element node.  If not empty, it must point to a valid Section or Question.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element minOccurs="0" name="InjectForm" type="InjectFormType">
  <xs:annotation>
    <xs:documentation>InjectForm is a link to a form (or portion of a form) that is imported into the current form at specific sites.</xs:documentation>
  </xs:annotation>
</xs:element>
Element InjectFormType / Question
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#RepeatingType_minCard SDCFormDesign_xsd.tmp#RepeatingType_maxCard SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#RepeatingType SDCFormDesign_xsd.tmp#QuestionItemBaseType_readOnly SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#QuestionItemBaseType_ResponseField SDCFormDesign_xsd.tmp#QuestionItemBaseType_ListField SDCFormDesign_xsd.tmp#QuestionItemBaseType SDCFormDesign_xsd.tmp#QuestionItemType_ChildItems SDCFormDesign_xsd.tmp#QuestionItemType
Type QuestionItemType
Type hierarchy
Properties
content complex
Model
Children ActivateIf, BlobContent, ChildItems, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, ListField, OnEnter, OnEvent, OnExit, Property, ResponseField
Instance
<Question baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" parentGUID="" readOnly="false" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Link name="" order="" styleClass="" type="">{0,unbounded}</Link>
  <BlobContent fileExtension="" mimeType="" name="" order="" styleClass="" type="">{0,unbounded}</BlobContent>
  <Contact name="" order="" styleClass="" type="">{0,unbounded}</Contact>
  <CodedValue name="" order="" styleClass="" type="">{0,unbounded}</CodedValue>
  <OnEnter allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEnter>
  <OnExit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnExit>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
  <ActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</ActivateIf>
  <DeActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</DeActivateIf>
  <ResponseField name="" order="" styleClass="" type="">{1,1}</ResponseField>
  <ListField colTextDelimiter="|" defaultListItemDataType="" maxSelections="1" minSelections="1" name="" numCols="1" order="" ordered="true" storedCol="1" styleClass="" type="">{1,1}</ListField>
  <ChildItems name="" order="" styleClass="" type="">{0,1}</ChildItems>
</Question>
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
maxCard xs:unsignedShort 1 optional
@maxCard is the maximum number of repetitions allowed for a section or question.  The default value is 1, indicating that the section or question cannot be repeated on the data entry form.  A value of 0 indicates that the number of repeats is unlimited.  If @maxCard is not 0, then Must be greater than or equal to minCard.
minCard xs:unsignedShort 1 optional
@minCard is the minimum number of repetitions allowed for a section or question.  The default value is 1, indicating that the user must answer any question(s) that has this attribute set.  If @minCard is set to 0, then the item and all descendent questions are optional to answer.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
readOnly xs:boolean false optional
If @readOnly is set to true, the this field may not be edited by the user, and any default values set by template should be considered part of the stored data set responses, and transmitted by the SubmitForm transaction.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:element name="Question" type="QuestionItemType"/>
Element InjectFormType / FormDesign
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#FormDesignType_formTitle SDCFormDesign_xsd.tmp#FormDesignType_filename SDCFormDesign_xsd.tmp#FormDesignType_basedOnURI SDCFormDesign_xsd.tmp#FormDesignType_lineage SDCFormDesign_xsd.tmp#FormDesignType_version SDCFormDesign_xsd.tmp#FormDesignType_fullURI SDCFormDesign_xsd.tmp#FormDesignType_prevVersionURI SDCFormDesign_xsd.tmp#FormDesignType_formInstanceURI SDCFormDesign_xsd.tmp#FormDesignType_formInstanceVersionURI SDCFormDesign_xsd.tmp#FormDesignType_formPreviousInstanceVersionURI SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#FormDesignType_BeforeLoadForm SDCFormDesign_xsd.tmp#FormDesignType_BeforeLoadData SDCFormDesign_xsd.tmp#FormDesignType_BeforeShowForm SDCFormDesign_xsd.tmp#FormDesignType_BeforeDataSubmit SDCFormDesign_xsd.tmp#FormDesignType_BeforeCloseForm SDCFormDesign_xsd.tmp#FormDesignType_OnEvent SDCFormDesign_xsd.tmp#FormDesignType_Header SDCFormDesign_xsd.tmp#FormDesignType_Body SDCFormDesign_xsd.tmp#FormDesignType_Footer SDCFormDesign_xsd.tmp#FormDesignType_Rules SDCFormDesign_xsd.tmp#FormDesignType
Type FormDesignType
Type hierarchy
Properties
content complex
Model
Children BeforeCloseForm, BeforeDataSubmit, BeforeLoadData, BeforeLoadForm, BeforeShowForm, Body, Comment, Extension, Footer, Header, OnEvent, Property, Rules
Instance
<FormDesign basedOnURI="" baseURI="" filename="" formInstanceURI="" formInstanceVersionURI="" formPreviousInstanceVersionURI="" formTitle="" fullURI="" ID="" lineage="" name="" order="" prevVersionURI="" responseStatusEnum="" responseTypeEnum="" styleClass="" type="" version="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <BeforeLoadForm allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</BeforeLoadForm>
  <BeforeLoadData allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</BeforeLoadData>
  <BeforeShowForm allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</BeforeShowForm>
  <BeforeDataSubmit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</BeforeDataSubmit>
  <BeforeCloseForm allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</BeforeCloseForm>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
  <Header baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</Header>
  <Body baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{1,1}</Body>
  <Footer baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</Footer>
  <Rules name="" order="" styleClass="" type="">{0,1}</Rules>
</FormDesign>
Attributes
QName Type Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
basedOnURI URI_Atype optional
NEW: URI used to identify the form that that this FormDesign is based upon.  In most cases, this should be a standard form that is modified and/or extended by the current FormDesign.   
                     
The current template reuses the basedOn IDs whenever the question/answer/semantic context is identical to the original.
                     
5/11/17:  Relying on data element mapping may be a better and more flexible approach than @basedOnURI. In this way, forms could compare data elements to determine if they contain semantic matches, and this is supported better with a more robust code map section.
filename xs:string optional
NEW: filename to use when the current FormDesign instance is saved as a file.  
For forms containing responses, the filename may include the formInstanceVersionURI, 
but the naming convention may be use-case-specific.
formInstanceURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a form.  Used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI does not change for each edit session of a form instance.
formInstanceVersionURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a form's saved responses.  It is used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit/save session of a form instance.  It may be e.g., a new GUID, or a repeat of the formInstanceID followed by a version number.
formPreviousInstanceVersionURI URI_Atype optional
NEW: Unique URI used to identify the immediate previous instance of a form containing responses.  This is the @formInstanceVersionURI that represents the instance of the form that the user opened up before beginning a new cycle of edit/save.  This attribute is used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit session of a form instance.
formTitle xs:string optional
NEW: human readable title for display when choosing forms. Added 4/27/16
fullURI URI_Atype required
NEW: The full URI that uniquely identifies the current form.   It is created by concatenating @baseURI + lineage + version.  Each of the componenets is separated by a single forward slash.
lineage xs:string required
NEW: A text identifier that is used to group multiple versions of a single form.  The lineage is constant for all versions of a single kind of form.  

When appended to @baseURI, it can be used to retrieve all versions of one particular form.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
prevVersionURI URI_Atype optional
NEW: The full URI used to identify the form that is the immediate previous version of the current FormDesign
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
version xs:string required
NEW: @version contains the version text for the current form.  It is designed to be used in conjuction with @baseURI and @lineage.
Source
<xs:element name="FormDesign" type="FormDesignType"/>
Element FormDesignType / BeforeLoadData
Namespace urn:ihe:qrph:sdc:2016
Annotations
NEW:
This event is fired after the page is loaded into memory, before stored form data is loaded, and before the form is visible.  For example, It may be used to determine the data to be loaded and to perform the data loading.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType
Type EventType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<BeforeLoadData allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</BeforeLoadData>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="BeforeLoadData" type="EventType">
  <xs:annotation>
    <xs:documentation>NEW: This event is fired after the page is loaded into memory, before stored form data is loaded, and before the form is visible. For example, It may be used to determine the data to be loaded and to perform the data loading.</xs:documentation>
  </xs:annotation>
</xs:element>
Element FormDesignType / BeforeShowForm
Namespace urn:ihe:qrph:sdc:2016
Annotations
NEW:
This event is fired after the page is loaded is memory, after the data is loaded into the form, but before the form is displayed.  It may be used to perform form activities that are controlled by the loaded data.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType
Type EventType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<BeforeShowForm allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</BeforeShowForm>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="BeforeShowForm" type="EventType">
  <xs:annotation>
    <xs:documentation>NEW: This event is fired after the page is loaded is memory, after the data is loaded into the form, but before the form is displayed. It may be used to perform form activities that are controlled by the loaded data.</xs:documentation>
  </xs:annotation>
</xs:element>
Element FormDesignType / BeforeDataSubmit
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType
Type EventType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<BeforeDataSubmit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</BeforeDataSubmit>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="BeforeDataSubmit" type="EventType"/>
Element FormDesignType / BeforeCloseForm
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType
Type EventType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<BeforeCloseForm allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</BeforeCloseForm>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="BeforeCloseForm" type="EventType"/>
Element FormDesignType / OnEvent
Namespace urn:ihe:qrph:sdc:2016
Annotations
Generic event handler - eventName must be specified.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType SDCFormDesign_xsd.tmp#OnEventType_eventName SDCFormDesign_xsd.tmp#OnEventType
Type OnEventType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</OnEvent>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
eventName xs:string required
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element minOccurs="0" name="OnEvent" maxOccurs="unbounded" type="OnEventType">
  <xs:annotation>
    <xs:documentation>Generic event handler - eventName must be specified.</xs:documentation>
  </xs:annotation>
</xs:element>
Element FormDesignType / Header
Namespace urn:ihe:qrph:sdc:2016
Annotations
Optional Section that stays at the top of a form.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#RepeatingType_minCard SDCFormDesign_xsd.tmp#RepeatingType_maxCard SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#RepeatingType SDCFormDesign_xsd.tmp#SectionBaseType_ordered SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#SectionBaseType SDCFormDesign_xsd.tmp#SectionItemType_ChildItems SDCFormDesign_xsd.tmp#SectionItemType
Type SectionItemType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs 1
Model
Children ActivateIf, BlobContent, ChildItems, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnEnter, OnEvent, OnExit, Property
Instance
<Header baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Link name="" order="" styleClass="" type="">{0,unbounded}</Link>
  <BlobContent fileExtension="" mimeType="" name="" order="" styleClass="" type="">{0,unbounded}</BlobContent>
  <Contact name="" order="" styleClass="" type="">{0,unbounded}</Contact>
  <CodedValue name="" order="" styleClass="" type="">{0,unbounded}</CodedValue>
  <OnEnter allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEnter>
  <OnExit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnExit>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
  <ActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</ActivateIf>
  <DeActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</DeActivateIf>
  <ChildItems name="" order="" styleClass="" type="">{0,1}</ChildItems>
</Header>
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
maxCard xs:unsignedShort 1 optional
@maxCard is the maximum number of repetitions allowed for a section or question.  The default value is 1, indicating that the section or question cannot be repeated on the data entry form.  A value of 0 indicates that the number of repeats is unlimited.  If @maxCard is not 0, then Must be greater than or equal to minCard.
minCard xs:unsignedShort 1 optional
@minCard is the minimum number of repetitions allowed for a section or question.  The default value is 1, indicating that the user must answer any question(s) that has this attribute set.  If @minCard is set to 0, then the item and all descendent questions are optional to answer.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
ordered xs:boolean true optional
If false, then the form implementation may change the order of items in the section.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:element name="Header" type="SectionItemType" minOccurs="0" maxOccurs="1">
  <xs:annotation>
    <xs:documentation>Optional Section that stays at the top of a form.</xs:documentation>
  </xs:annotation>
</xs:element>
Element FormDesignType / Body
Namespace urn:ihe:qrph:sdc:2016
Annotations
Main Section of form
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#RepeatingType_minCard SDCFormDesign_xsd.tmp#RepeatingType_maxCard SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#RepeatingType SDCFormDesign_xsd.tmp#SectionBaseType_ordered SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#SectionBaseType SDCFormDesign_xsd.tmp#SectionItemType_ChildItems SDCFormDesign_xsd.tmp#SectionItemType
Type SectionItemType
Type hierarchy
Properties
content complex
maxOccurs 1
Model
Children ActivateIf, BlobContent, ChildItems, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnEnter, OnEvent, OnExit, Property
Instance
<Body baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Link name="" order="" styleClass="" type="">{0,unbounded}</Link>
  <BlobContent fileExtension="" mimeType="" name="" order="" styleClass="" type="">{0,unbounded}</BlobContent>
  <Contact name="" order="" styleClass="" type="">{0,unbounded}</Contact>
  <CodedValue name="" order="" styleClass="" type="">{0,unbounded}</CodedValue>
  <OnEnter allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEnter>
  <OnExit allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnExit>
  <OnEvent allowNull="true" eventName="" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</OnEvent>
  <ActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</ActivateIf>
  <DeActivateIf allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</DeActivateIf>
  <ChildItems name="" order="" styleClass="" type="">{0,1}</ChildItems>
</Body>
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
maxCard xs:unsignedShort 1 optional
@maxCard is the maximum number of repetitions allowed for a section or question.  The default value is 1, indicating that the section or question cannot be repeated on the data entry form.  A value of 0 indicates that the number of repeats is unlimited.  If @maxCard is not 0, then Must be greater than or equal to minCard.
minCard xs:unsignedShort 1 optional
@minCard is the minimum number of repetitions allowed for a section or question.  The default value is 1, indicating that the user must answer any question(s) that has this attribute set.  If @minCard is set to 0, then the item and all descendent questions are optional to answer.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
ordered xs:boolean true optional
If false, then the form implementation may change the order of items in the section.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:element name="Body" type="SectionItemType" maxOccurs="1">
  <xs:annotation>
    <xs:documentation>Main Section of form</xs:documentation>
  </xs:annotation>
</xs:element>
Element FormDesignType / Footer
Namespace urn:ihe:qrph:sdc:2016
Annotations
Diagram
Type SectionItemType
Type hierarchy
Properties
Model
Children ActivateIf, BlobContent, ChildItems, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnEnter, OnEvent, OnExit, Property
Instance
Attributes
Source
Element FormDesignType / Rules
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#RulesType_Validation SDCFormDesign_xsd.tmp#RulesType_AutoActivation SDCFormDesign_xsd.tmp#RulesType_AutoSelection SDCFormDesign_xsd.tmp#RulesType_ConditionalGroupActions SDCFormDesign_xsd.tmp#RulesType_ScriptedRule SDCFormDesign_xsd.tmp#RulesType_ExternalRule SDCFormDesign_xsd.tmp#RulesType
Type RulesType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children AutoActivation, AutoSelection, Comment, ConditionalGroupActions, Extension, ExternalRule, Property, ScriptedRule, Validation
Instance
<Rules name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Validation name="" order="" styleClass="" type="">{0,1}</Validation>
  <AutoActivation boolOp="AND" name="" not="" onlyIf="false" order="" removeResponsesWhenDeactivated="false" selectedItemSet="" setEnabled="true" setExpanded="true" setVisibility="true" styleClass="" targetNameActivationList="" type="">{0,unbounded}</AutoActivation>
  <AutoSelection boolOp="AND" name="" not="" onlyIf="false" order="" selectedItemSet="" styleClass="" targetNameSelectList="" type="">{0,unbounded}</AutoSelection>
  <ConditionalGroupActions allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ConditionalGroupActions>
  <ScriptedRule code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{0,unbounded}</ScriptedRule>
  <ExternalRule dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{0,unbounded}</ExternalRule>
</Rules>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element minOccurs="0" name="Rules" type="RulesType">
</xs:element>
Element RulesType / Validation
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#RulesType_RulesType_Validation_IllegalSelectionTest SDCFormDesign_xsd.tmp#RulesType_RulesType_Validation_IllegalSelectionSets SDCFormDesign_xsd.tmp#RulesType_RulesType_Validation_ItemAlternatives
Type extension of ExtensionBaseType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Comment, Extension, IllegalSelectionSets, IllegalSelectionTest, ItemAlternatives, Property
Instance
<Validation name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <IllegalSelectionTest allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" testItemName="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionTest>
  <IllegalSelectionSets allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</IllegalSelectionSets>
  <ItemAlternatives allowNull="true" itemNames="" maxAnswered="0" minAnswered="1" name="" not="false" order="" styleClass="" type="" val="" validationMessage="">{0,unbounded}</ItemAlternatives>
</Validation>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element minOccurs="0" name="Validation">
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="ExtensionBaseType">
        <xs:choice maxOccurs="unbounded">
          <xs:element maxOccurs="unbounded" minOccurs="0" name="IllegalSelectionTest" type="RuleSelectionTestType">
            <xs:annotation>
              <xs:documentation/>
            </xs:annotation>
          </xs:element>
          <xs:element name="IllegalSelectionSets" maxOccurs="unbounded" minOccurs="0" type="RuleSingleSelectionSetsType">
          </xs:element>
          <xs:element name="ItemAlternatives" maxOccurs="unbounded" minOccurs="0" type="AlternativesType">
            <xs:annotation>
              <xs:documentation/>
            </xs:annotation>
          </xs:element>
        </xs:choice>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>
Element RulesType / Validation / IllegalSelectionTest
Namespace urn:ihe:qrph:sdc:2016
Annotations
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType_listItemNames SDCDataTypes_xsd.tmp#not SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType SDCFormDesign_xsd.tmp#RuleSelectionTestType_testItemName SDCFormDesign_xsd.tmp#RuleSelectionTestType
Type RuleSelectionTestType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<IllegalSelectionTest allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" testItemName="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</IllegalSelectionTest>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
listItemNames xs:NMTOKENS required
Set of @name references for a set ListItems, delimited by spaces.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
testItemName xs:NMTOKEN required
The ListItem that is being evaluated for the presence of disallowed selections (in @listItemNames).  This attributes contains the @name of one ListItem.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="IllegalSelectionTest" type="RuleSelectionTestType">
  <xs:annotation>
    <xs:documentation/>
  </xs:annotation>
</xs:element>
Element RulesType / Validation / IllegalSelectionSets
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType_listItemNames SDCDataTypes_xsd.tmp#not SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType
Type RuleSingleSelectionSetsType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<IllegalSelectionSets allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</IllegalSelectionSets>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
listItemNames xs:NMTOKENS required
Set of @name references for a set ListItems, delimited by spaces.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="IllegalSelectionSets" maxOccurs="unbounded" minOccurs="0" type="RuleSingleSelectionSetsType">
</xs:element>
Element RulesType / Validation / ItemAlternatives
Namespace urn:ihe:qrph:sdc:2016
Annotations
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#not SDCFormDesign_xsd.tmp#AlternativesType_minAnswered SDCFormDesign_xsd.tmp#AlternativesType_maxAnswered SDCFormDesign_xsd.tmp#AlternativesType_itemNames SDCFormDesign_xsd.tmp#AlternativesType
Type AlternativesType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<ItemAlternatives allowNull="true" itemNames="" maxAnswered="0" minAnswered="1" name="" not="false" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</ItemAlternatives>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
itemNames xs:NMTOKENS optional
List of names of Sections, Questions, ListItems and/or InjectedItems.  Each of the named items will evaluate to true or false, based on the following validation rules:

If the name points to a Section, then the Section evaluates to true (valid) if all of its descendant items are answered correctly, according to their metadata.

If the name points to a Question then the Question evaluates to true (valid) if it is correctly answered according to its metadata, and also, all descendant items are answered correctly, according to their metadata.

If the name points to a ListItem then the ListItem evaluates to true (valid) if it is selected, and also, all descendant items are answered correctly according to their metadata.

If the name points to an InjectedItem then the InjectedItem evaluates to true (valid) if all descendant items are answered correctly, according to their metadata.

The number of true responses are added together.  If they satisfy the minAnswered and maxAnswered attribute values, then this type returns true.  Otherwise it returns false.
maxAnswered xs:int 0 optional
@maxAnswered must be 0 or greater than or equal to @minAnswered.
minAnswered xs:int 1 optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="ItemAlternatives" maxOccurs="unbounded" minOccurs="0" type="AlternativesType">
  <xs:annotation>
    <xs:documentation/>
  </xs:annotation>
</xs:element>
Element RulesType / AutoActivation
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#SelectionDependencyAttributes SDCFormDesign_xsd.tmp#IfAttributes SDCFormDesign_xsd.tmp#RuleAutoActivationType_targetNameActivationList SDCFormDesign_xsd.tmp#RuleAutoActivationType_setVisibility SDCFormDesign_xsd.tmp#RuleAutoActivationType_setEnabled SDCFormDesign_xsd.tmp#RuleAutoActivationType_setExpanded SDCFormDesign_xsd.tmp#RuleAutoActivationType_removeResponsesWhenDeactivated SDCFormDesign_xsd.tmp#RuleAutoActivationType
Type RuleAutoActivationType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<AutoActivation boolOp="AND" name="" not="" onlyIf="false" order="" removeResponsesWhenDeactivated="false" selectedItemSet="" setEnabled="true" setExpanded="true" setVisibility="true" styleClass="" targetNameActivationList="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</AutoActivation>
Attributes
QName Type Default Use Annotation
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
onlyIf xs:boolean false optional
(reversible); If onlyIf is true, then the stipulated Boolean actions, which are executed when the If conditions evaluate to true,  are reversed when the conditions evaluate to false.

If onlyIf="true", the target items assume the chosen attribute values (e.g., selected, activated) ONLY when the action condition(s) are satisfied.  If the conditions are not satisfied, then all Boolean actions assume the opposite state (e.g., unselected, inactive).

Manually changing the attributes on the target item (upon which the actions are executed) will not affect any attributes in the controlling items.  It is possible to disable (enabled="false") the target item so that its attributes can only be be changed programmatically.

The default value is "false" indicating that the the rule runs when the "If" condition is "true." The attached action will not reverse (be undone) when the "If" condition evaluates to "false."
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
removeResponsesWhenDeactivated xs:boolean false optional
Delete all user selections, responses and comments when the item is deactivated.  Applies to all descendant items as well.  User should be warned before deleting anything, with an option to preserve the responses in the disabled items.  Disabled item responses should not be saved with the form data.
selectedItemSet xs:NMTOKENS required
This list contains names of ListItems (answer choices) that are watched for being selected or unselected.

If a ListItem appears in this list, then it evaluates to true when it is selected.  If a ListItem is prefixed with a hyphen (-), then it evaluates to true when unselected.  These Boolean values, derived from each named ListItem in the list, are ANDed together (by default) to produce a return value of true or false.  The default Boolean operator (AND) may be changed using @boolOp.  If @not = true, then the Boolean result is logically negated.

Renamed from: ListItemSelections
setEnabled toggleType true optional
Make target items enabled when activated and vice versa.  Default = true.  All descendants are affected in the same way.
setExpanded toggleType true optional
Expand target items when activated and collapse item when deactivated.  Default = false.  All descendants are affected in the same way.
setVisibility toggleType true optional
Make target items visible when activated and vice versa.  Default = false.  All descendants are affected in the same way.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
targetNameActivationList xs:NCName optional
This list contains the @names of Identified Items that will be automatically activated or deactivated when the @selectedItemSet evaluates to true.  

If a @name is prefixed with a hyphen (-), then the item will be deactivated when @selectedItemSet evaluates to true.  If @not = true, then the Boolean rule evaluation is negated, and thus the rule works in reverse.

If @onlyIf is true, then the above rule is reversed when @selectedItemSet evaluates to false.  In other words, named items will be deactivated, and hyphen-prefixed items will be activated when @selectedItemSet is false.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="AutoActivation" type="RuleAutoActivationType" maxOccurs="unbounded" minOccurs="0"/>
Element RulesType / AutoSelection
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#SelectionDependencyAttributes SDCFormDesign_xsd.tmp#IfAttributes SDCFormDesign_xsd.tmp#RuleAutoSelectType_targetNameSelectList SDCFormDesign_xsd.tmp#RuleAutoSelectType
Type RuleAutoSelectType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Property
Instance
<AutoSelection boolOp="AND" name="" not="" onlyIf="false" order="" selectedItemSet="" styleClass="" targetNameSelectList="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
</AutoSelection>
Attributes
QName Type Default Use Annotation
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
onlyIf xs:boolean false optional
(reversible); If onlyIf is true, then the stipulated Boolean actions, which are executed when the If conditions evaluate to true,  are reversed when the conditions evaluate to false.

If onlyIf="true", the target items assume the chosen attribute values (e.g., selected, activated) ONLY when the action condition(s) are satisfied.  If the conditions are not satisfied, then all Boolean actions assume the opposite state (e.g., unselected, inactive).

Manually changing the attributes on the target item (upon which the actions are executed) will not affect any attributes in the controlling items.  It is possible to disable (enabled="false") the target item so that its attributes can only be be changed programmatically.

The default value is "false" indicating that the the rule runs when the "If" condition is "true." The attached action will not reverse (be undone) when the "If" condition evaluates to "false."
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
selectedItemSet xs:NMTOKENS required
This list contains names of ListItems (answer choices) that are watched for being selected or unselected.

If a ListItem appears in this list, then it evaluates to true when it is selected.  If a ListItem is prefixed with a hyphen (-), then it evaluates to true when unselected.  These Boolean values, derived from each named ListItem in the list, are ANDed together (by default) to produce a return value of true or false.  The default Boolean operator (AND) may be changed using @boolOp.  If @not = true, then the Boolean result is logically negated.

Renamed from: ListItemSelections
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
targetNameSelectList xs:NCName optional
This list contains the @names of ListItems that will be automatically selected or deselected when the @selectedItemSet evaluates to true.  If a @name is prefixed with a hyphen (-), then the item will be deselected when @selectedItemSet evaluates to true.  If @not = true, then the Boolean rule evaluation is negated, and thus the rule works in reverse.

If @onlyIf is true, then the above rule is reversed when @selectedItemSet evaluates to false.  In other words, named items will be deselected, and hyphen-prefixed items will be selected when @selectedItemSet is false.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="AutoSelection" type="RuleAutoSelectType"/>
Element RulesType / ConditionalGroupActions
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType
Type ConditionalGroupActionType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<ConditionalGroupActions allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</ConditionalGroupActions>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="ConditionalGroupActions" type="ConditionalGroupActionType"/>
Element RulesType / ScriptedRule
Namespace urn:ihe:qrph:sdc:2016
Annotations
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#ScriptCodeAnyType_language SDCExpressions_xsd.tmp#ScriptCodeAnyType_code SDCExpressions_xsd.tmp#ScriptCodeAnyType_Parameter SDCExpressions_xsd.tmp#ScriptCodeAnyType
Type ScriptCodeAnyType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Parameter, Property
Instance
<ScriptedRule code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Parameter dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{0,unbounded}</Parameter>
</ScriptedRule>
Attributes
QName Type Default Use Annotation
code xs:string optional
Script contents.
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
language xs:string optional
Programming language.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="ScriptedRule" type="ScriptCodeAnyType">
  <xs:annotation>
    <xs:documentation/>
  </xs:annotation>
</xs:element>
Element RulesType / ExternalRule
Namespace urn:ihe:qrph:sdc:2016
Annotations
Rules that are called (by referencing the rule's @name attribute) from another place in the form.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#CallFuncType_Function SDCExpressions_xsd.tmp#CallFuncType_Security SDCExpressions_xsd.tmp#ParameterGroup_ParameterRef SDCExpressions_xsd.tmp#ParameterGroup_ParameterValue SDCExpressions_xsd.tmp#ParameterGroup SDCExpressions_xsd.tmp#CallFuncType
Type CallFuncType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Comment, Extension, Function, ParameterRef, ParameterValue, Property, Security
Instance
<ExternalRule dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Function name="" order="" styleClass="" type="" val="">{1,1}</Function>
  <Security name="" order="" styleClass="" type="" val="">{0,1}</Security>
  <ParameterRef dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{1,1}</ParameterRef>
  <ParameterValue name="" order="" paramName="" styleClass="" type="">{1,1}</ParameterValue>
</ExternalRule>
Attributes
QName Type Default Use Annotation
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="ExternalRule" type="CallFuncType">
  <xs:annotation>
    <xs:documentation>Rules that are called (by referencing the rule's @name attribute) from another place in the form.</xs:documentation>
  </xs:annotation>
</xs:element>
Element ConditionsSubActionsType / MultiSelections
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#SelectionDependencyAttributes SDCFormDesign_xsd.tmp#MultiSelectionSetBoolType SDCFormDesign_xsd.tmp#ConditionsSubActionsType_ConditionsSubActionsType_MultiSelections_Actions
Type extension of MultiSelectionSetBoolType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Extension, Property
Instance
<MultiSelections allowNull="true" boolOp="AND" name="" not="" order="" selectedItemSet="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</MultiSelections>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
selectedItemSet xs:NMTOKENS required
This list contains names of ListItems (answer choices) that are watched for being selected or unselected.

If a ListItem appears in this list, then it evaluates to true when it is selected.  If a ListItem is prefixed with a hyphen (-), then it evaluates to true when unselected.  These Boolean values, derived from each named ListItem in the list, are ANDed together (by default) to produce a return value of true or false.  The default Boolean operator (AND) may be changed using @boolOp.  If @not = true, then the Boolean result is logically negated.

Renamed from: ListItemSelections
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="MultiSelections">
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="MultiSelectionSetBoolType">
        <xs:sequence minOccurs="0">
          <xs:element name="Actions" minOccurs="0" type="ActionsType"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>
Element ConditionsSubActionsType / MultiSelections / Actions
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActionsType_Action SDCFormDesign_xsd.tmp#ActionsType_SetProperty SDCFormDesign_xsd.tmp#ActionsType_AddCode SDCFormDesign_xsd.tmp#ActionsType_Inject SDCFormDesign_xsd.tmp#ActionsType_ShowURL SDCFormDesign_xsd.tmp#ActionsType_Save SDCFormDesign_xsd.tmp#ActionsType_SendReport SDCFormDesign_xsd.tmp#ActionsType_SendMessage111 SDCFormDesign_xsd.tmp#ActionsType_SetItemAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetBoolValue SDCFormDesign_xsd.tmp#ActionsType_ShowForm SDCFormDesign_xsd.tmp#ActionsType_ShowMessage SDCFormDesign_xsd.tmp#ActionsType_ShowReport SDCFormDesign_xsd.tmp#ActionsType_PreviewReport SDCFormDesign_xsd.tmp#ActionsType_ValidateForm SDCFormDesign_xsd.tmp#ActionsType_RunCode SDCFormDesign_xsd.tmp#ActionsType_CallCode SDCFormDesign_xsd.tmp#ActionsType_ConditionalGroupAction SDCFormDesign_xsd.tmp#ActionsType
Type ActionsType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Action, AddCode, CallCode, Comment, ConditionalGroupAction, Extension, Inject, PreviewReport, Property, RunCode, Save, SendMessage111, SendReport, SetAttributeValue, SetBoolValue, SetItemAttributeValue, SetProperty, ShowForm, ShowMessage, ShowReport, ShowURL, ValidateForm
Instance
<Actions name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Action action="" name="" order="" styleClass="" type="">{1,1}</Action>
  <SetProperty actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="">{1,1}</SetProperty>
  <AddCode itemName="" name="" order="" styleClass="" type="">{1,1}</AddCode>
  <Inject baseURI="" ID="" name="" order="" pkgBaseURI="" pkgFullURI="" pkgID="" pkgInstanceURI="" pkgInstanceVersionURI="" pkgManagerURI="" rootItemID="" styleClass="" targetNames="" type="" X_injectionID="">{1,1}</Inject>
  <ShowURL dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</ShowURL>
  <Save name="" order="" styleClass="" type="">{1,1}</Save>
  <SendReport name="" order="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="">{1,1}</SendReport>
  <SendMessage111 messageType="" name="" order="" styleClass="" type="" val="">{1,1}</SendMessage111>
  <SetItemAttributeValue actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="">{1,1}</SetItemAttributeValue>
  <SetAttributeValue code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</SetAttributeValue>
  <SetBoolValue allowNull="true" attributeName="val" code="" elementName="" language="" name="" order="" styleClass="" type="" val="" validationMessage="" X_targetNames="">{1,1}</SetBoolValue>
  <ShowForm displayState="" formID="" name="" order="" packageID="" styleClass="" type="">{1,1}</ShowForm>
  <ShowMessage alertLevel="" alertType="" messageCode="" messageType="" name="" order="" styleClass="" type="">{1,1}</ShowMessage>
  <ShowReport displayState="" name="" order="" packageID="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="">{1,1}</ShowReport>
  <PreviewReport displayState="" name="" order="" reportID="" styleClass="" type="">{1,1}</PreviewReport>
  <ValidateForm name="" order="" styleClass="" type="" validateCompleteness="false" validateDataTypes="false" validateRules="false" validationType="">{1,1}</ValidateForm>
  <RunCode code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</RunCode>
  <CallCode dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</CallCode>
  <ConditionalGroupAction allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{1,1}</ConditionalGroupAction>
</Actions>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="Actions" minOccurs="0" type="ActionsType"/>
Element ConditionsSubActionsType / IllegalSelectionSets
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType_listItemNames SDCDataTypes_xsd.tmp#not SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType SDCFormDesign_xsd.tmp#ConditionsSubActionsType_ConditionsSubActionsType_IllegalSelectionSets_Actions
Type extension of RuleSingleSelectionSetsType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Extension, Property
Instance
<IllegalSelectionSets allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</IllegalSelectionSets>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
listItemNames xs:NMTOKENS required
Set of @name references for a set ListItems, delimited by spaces.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="IllegalSelectionSets" maxOccurs="unbounded" minOccurs="0">
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="RuleSingleSelectionSetsType">
        <xs:sequence minOccurs="0">
          <xs:element name="Actions" minOccurs="0" type="ActionsType"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>
Element ConditionsSubActionsType / IllegalSelectionSets / Actions
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActionsType_Action SDCFormDesign_xsd.tmp#ActionsType_SetProperty SDCFormDesign_xsd.tmp#ActionsType_AddCode SDCFormDesign_xsd.tmp#ActionsType_Inject SDCFormDesign_xsd.tmp#ActionsType_ShowURL SDCFormDesign_xsd.tmp#ActionsType_Save SDCFormDesign_xsd.tmp#ActionsType_SendReport SDCFormDesign_xsd.tmp#ActionsType_SendMessage111 SDCFormDesign_xsd.tmp#ActionsType_SetItemAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetBoolValue SDCFormDesign_xsd.tmp#ActionsType_ShowForm SDCFormDesign_xsd.tmp#ActionsType_ShowMessage SDCFormDesign_xsd.tmp#ActionsType_ShowReport SDCFormDesign_xsd.tmp#ActionsType_PreviewReport SDCFormDesign_xsd.tmp#ActionsType_ValidateForm SDCFormDesign_xsd.tmp#ActionsType_RunCode SDCFormDesign_xsd.tmp#ActionsType_CallCode SDCFormDesign_xsd.tmp#ActionsType_ConditionalGroupAction SDCFormDesign_xsd.tmp#ActionsType
Type ActionsType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Action, AddCode, CallCode, Comment, ConditionalGroupAction, Extension, Inject, PreviewReport, Property, RunCode, Save, SendMessage111, SendReport, SetAttributeValue, SetBoolValue, SetItemAttributeValue, SetProperty, ShowForm, ShowMessage, ShowReport, ShowURL, ValidateForm
Instance
<Actions name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Action action="" name="" order="" styleClass="" type="">{1,1}</Action>
  <SetProperty actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="">{1,1}</SetProperty>
  <AddCode itemName="" name="" order="" styleClass="" type="">{1,1}</AddCode>
  <Inject baseURI="" ID="" name="" order="" pkgBaseURI="" pkgFullURI="" pkgID="" pkgInstanceURI="" pkgInstanceVersionURI="" pkgManagerURI="" rootItemID="" styleClass="" targetNames="" type="" X_injectionID="">{1,1}</Inject>
  <ShowURL dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</ShowURL>
  <Save name="" order="" styleClass="" type="">{1,1}</Save>
  <SendReport name="" order="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="">{1,1}</SendReport>
  <SendMessage111 messageType="" name="" order="" styleClass="" type="" val="">{1,1}</SendMessage111>
  <SetItemAttributeValue actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="">{1,1}</SetItemAttributeValue>
  <SetAttributeValue code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</SetAttributeValue>
  <SetBoolValue allowNull="true" attributeName="val" code="" elementName="" language="" name="" order="" styleClass="" type="" val="" validationMessage="" X_targetNames="">{1,1}</SetBoolValue>
  <ShowForm displayState="" formID="" name="" order="" packageID="" styleClass="" type="">{1,1}</ShowForm>
  <ShowMessage alertLevel="" alertType="" messageCode="" messageType="" name="" order="" styleClass="" type="">{1,1}</ShowMessage>
  <ShowReport displayState="" name="" order="" packageID="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="">{1,1}</ShowReport>
  <PreviewReport displayState="" name="" order="" reportID="" styleClass="" type="">{1,1}</PreviewReport>
  <ValidateForm name="" order="" styleClass="" type="" validateCompleteness="false" validateDataTypes="false" validateRules="false" validationType="">{1,1}</ValidateForm>
  <RunCode code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</RunCode>
  <CallCode dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</CallCode>
  <ConditionalGroupAction allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{1,1}</ConditionalGroupAction>
</Actions>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="Actions" minOccurs="0" type="ActionsType"/>
Element ConditionsSubActionsType / IllegalSelectionTest
Namespace urn:ihe:qrph:sdc:2016
Annotations
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType_listItemNames SDCDataTypes_xsd.tmp#not SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType SDCFormDesign_xsd.tmp#RuleSelectionTestType_testItemName SDCFormDesign_xsd.tmp#RuleSelectionTestType SDCFormDesign_xsd.tmp#ConditionsSubActionsType_ConditionsSubActionsType_IllegalSelectionTest_Actions
Type extension of RuleSelectionTestType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Extension, Property
Instance
<IllegalSelectionTest allowNull="true" listItemNames="" name="" not="false" order="" styleClass="" testItemName="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</IllegalSelectionTest>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
listItemNames xs:NMTOKENS required
Set of @name references for a set ListItems, delimited by spaces.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
testItemName xs:NMTOKEN required
The ListItem that is being evaluated for the presence of disallowed selections (in @listItemNames).  This attributes contains the @name of one ListItem.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element maxOccurs="unbounded" minOccurs="0" name="IllegalSelectionTest">
  <xs:annotation>
    <xs:documentation/>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="RuleSelectionTestType">
        <xs:sequence minOccurs="0">
          <xs:element name="Actions" minOccurs="0" type="ActionsType"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>
Element ConditionsSubActionsType / IllegalSelectionTest / Actions
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActionsType_Action SDCFormDesign_xsd.tmp#ActionsType_SetProperty SDCFormDesign_xsd.tmp#ActionsType_AddCode SDCFormDesign_xsd.tmp#ActionsType_Inject SDCFormDesign_xsd.tmp#ActionsType_ShowURL SDCFormDesign_xsd.tmp#ActionsType_Save SDCFormDesign_xsd.tmp#ActionsType_SendReport SDCFormDesign_xsd.tmp#ActionsType_SendMessage111 SDCFormDesign_xsd.tmp#ActionsType_SetItemAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetBoolValue SDCFormDesign_xsd.tmp#ActionsType_ShowForm SDCFormDesign_xsd.tmp#ActionsType_ShowMessage SDCFormDesign_xsd.tmp#ActionsType_ShowReport SDCFormDesign_xsd.tmp#ActionsType_PreviewReport SDCFormDesign_xsd.tmp#ActionsType_ValidateForm SDCFormDesign_xsd.tmp#ActionsType_RunCode SDCFormDesign_xsd.tmp#ActionsType_CallCode SDCFormDesign_xsd.tmp#ActionsType_ConditionalGroupAction SDCFormDesign_xsd.tmp#ActionsType
Type ActionsType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Action, AddCode, CallCode, Comment, ConditionalGroupAction, Extension, Inject, PreviewReport, Property, RunCode, Save, SendMessage111, SendReport, SetAttributeValue, SetBoolValue, SetItemAttributeValue, SetProperty, ShowForm, ShowMessage, ShowReport, ShowURL, ValidateForm
Instance
<Actions name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Action action="" name="" order="" styleClass="" type="">{1,1}</Action>
  <SetProperty actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="">{1,1}</SetProperty>
  <AddCode itemName="" name="" order="" styleClass="" type="">{1,1}</AddCode>
  <Inject baseURI="" ID="" name="" order="" pkgBaseURI="" pkgFullURI="" pkgID="" pkgInstanceURI="" pkgInstanceVersionURI="" pkgManagerURI="" rootItemID="" styleClass="" targetNames="" type="" X_injectionID="">{1,1}</Inject>
  <ShowURL dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</ShowURL>
  <Save name="" order="" styleClass="" type="">{1,1}</Save>
  <SendReport name="" order="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="">{1,1}</SendReport>
  <SendMessage111 messageType="" name="" order="" styleClass="" type="" val="">{1,1}</SendMessage111>
  <SetItemAttributeValue actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="">{1,1}</SetItemAttributeValue>
  <SetAttributeValue code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</SetAttributeValue>
  <SetBoolValue allowNull="true" attributeName="val" code="" elementName="" language="" name="" order="" styleClass="" type="" val="" validationMessage="" X_targetNames="">{1,1}</SetBoolValue>
  <ShowForm displayState="" formID="" name="" order="" packageID="" styleClass="" type="">{1,1}</ShowForm>
  <ShowMessage alertLevel="" alertType="" messageCode="" messageType="" name="" order="" styleClass="" type="">{1,1}</ShowMessage>
  <ShowReport displayState="" name="" order="" packageID="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="">{1,1}</ShowReport>
  <PreviewReport displayState="" name="" order="" reportID="" styleClass="" type="">{1,1}</PreviewReport>
  <ValidateForm name="" order="" styleClass="" type="" validateCompleteness="false" validateDataTypes="false" validateRules="false" validationType="">{1,1}</ValidateForm>
  <RunCode code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</RunCode>
  <CallCode dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</CallCode>
  <ConditionalGroupAction allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{1,1}</ConditionalGroupAction>
</Actions>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="Actions" minOccurs="0" type="ActionsType"/>
Element ConditionsSubActionsType / ScriptCondition
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCExpressions_xsd.tmp#ScriptCodeBoolType_language SDCExpressions_xsd.tmp#ScriptCodeBoolType_code SDCExpressions_xsd.tmp#ScriptCodeBoolType_Parameter SDCExpressions_xsd.tmp#ScriptCodeBoolType SDCFormDesign_xsd.tmp#ConditionsSubActionsType_ConditionsSubActionsType_ScriptCondition_Actions
Type extension of ScriptCodeBoolType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Extension, Parameter, Property
Instance
<ScriptCondition allowNull="true" code="" language="" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Parameter dataTypeListAll="" name="" order="" paramName="" SourceItemAttribute="val" sourceItemName="" styleClass="" type="">{0,unbounded}</Parameter>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</ScriptCondition>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
code xs:string optional
Script contents.
language xs:string optional
Programming language.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="ScriptCondition" maxOccurs="unbounded" minOccurs="0">
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="ScriptCodeBoolType">
        <xs:sequence minOccurs="0">
          <xs:element name="Actions" minOccurs="0" type="ActionsType"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>
Element ConditionsSubActionsType / ScriptCondition / Actions
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActionsType_Action SDCFormDesign_xsd.tmp#ActionsType_SetProperty SDCFormDesign_xsd.tmp#ActionsType_AddCode SDCFormDesign_xsd.tmp#ActionsType_Inject SDCFormDesign_xsd.tmp#ActionsType_ShowURL SDCFormDesign_xsd.tmp#ActionsType_Save SDCFormDesign_xsd.tmp#ActionsType_SendReport SDCFormDesign_xsd.tmp#ActionsType_SendMessage111 SDCFormDesign_xsd.tmp#ActionsType_SetItemAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetBoolValue SDCFormDesign_xsd.tmp#ActionsType_ShowForm SDCFormDesign_xsd.tmp#ActionsType_ShowMessage SDCFormDesign_xsd.tmp#ActionsType_ShowReport SDCFormDesign_xsd.tmp#ActionsType_PreviewReport SDCFormDesign_xsd.tmp#ActionsType_ValidateForm SDCFormDesign_xsd.tmp#ActionsType_RunCode SDCFormDesign_xsd.tmp#ActionsType_CallCode SDCFormDesign_xsd.tmp#ActionsType_ConditionalGroupAction SDCFormDesign_xsd.tmp#ActionsType
Type ActionsType
Type hierarchy
Properties
content complex
minOccurs 0
Model
Children Action, AddCode, CallCode, Comment, ConditionalGroupAction, Extension, Inject, PreviewReport, Property, RunCode, Save, SendMessage111, SendReport, SetAttributeValue, SetBoolValue, SetItemAttributeValue, SetProperty, ShowForm, ShowMessage, ShowReport, ShowURL, ValidateForm
Instance
<Actions name="" order="" styleClass="" type="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Action action="" name="" order="" styleClass="" type="">{1,1}</Action>
  <SetProperty actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="">{1,1}</SetProperty>
  <AddCode itemName="" name="" order="" styleClass="" type="">{1,1}</AddCode>
  <Inject baseURI="" ID="" name="" order="" pkgBaseURI="" pkgFullURI="" pkgID="" pkgInstanceURI="" pkgInstanceVersionURI="" pkgManagerURI="" rootItemID="" styleClass="" targetNames="" type="" X_injectionID="">{1,1}</Inject>
  <ShowURL dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</ShowURL>
  <Save name="" order="" styleClass="" type="">{1,1}</Save>
  <SendReport name="" order="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="">{1,1}</SendReport>
  <SendMessage111 messageType="" name="" order="" styleClass="" type="" val="">{1,1}</SendMessage111>
  <SetItemAttributeValue actActivate="" actDeleteResponse="" actEnable="" actMaxCard="" actMinCard="" actReadOnly="" actSelect="" actSetAssociatedValue="" actSetBase64HTML="" actSetCode="" actSetCodeSystem="" actSetTitleText="" actSetVal="" actStyleClass="" actType="" actVisible="" name="" order="" styleClass="" targetNames="" type="">{1,1}</SetItemAttributeValue>
  <SetAttributeValue code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</SetAttributeValue>
  <SetBoolValue allowNull="true" attributeName="val" code="" elementName="" language="" name="" order="" styleClass="" type="" val="" validationMessage="" X_targetNames="">{1,1}</SetBoolValue>
  <ShowForm displayState="" formID="" name="" order="" packageID="" styleClass="" type="">{1,1}</ShowForm>
  <ShowMessage alertLevel="" alertType="" messageCode="" messageType="" name="" order="" styleClass="" type="">{1,1}</ShowMessage>
  <ShowReport displayState="" name="" order="" packageID="" reportID="" reportInstanceGuid="" reportInstanceVersonGuid="" styleClass="" type="">{1,1}</ShowReport>
  <PreviewReport displayState="" name="" order="" reportID="" styleClass="" type="">{1,1}</PreviewReport>
  <ValidateForm name="" order="" styleClass="" type="" validateCompleteness="false" validateDataTypes="false" validateRules="false" validationType="">{1,1}</ValidateForm>
  <RunCode code="" dataTypeListAll="" language="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</RunCode>
  <CallCode dataTypeListAll="" name="" objectFormat="" objectTypeName="" order="" returnList="false" styleClass="" type="">{1,1}</CallCode>
  <ConditionalGroupAction allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="">{1,1}</ConditionalGroupAction>
</Actions>
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:element name="Actions" minOccurs="0" type="ActionsType"/>
Element ConditionsSubActionsType / Group
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType
Type ConditionalGroupActionType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children Actions, Comment, Conditions, Extension, Property
Instance
<Group allowNull="true" name="" order="" styleClass="" type="" val="" validationMessage="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Conditions allowNull="true" boolOp="AND" name="" not="" order="" styleClass="" type="" val="" validationMessage="">{0,1}</Conditions>
  <Actions name="" order="" styleClass="" type="">{0,1}</Actions>
</Group>
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:element name="Group" type="ConditionalGroupActionType" minOccurs="0" maxOccurs="unbounded"/>
Element DataElement
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DataElementType_title SDCFormDesign_xsd.tmp#DataElementType_filename SDCFormDesign_xsd.tmp#DataElementType_basedOnURI SDCFormDesign_xsd.tmp#DataElementType_lineage SDCFormDesign_xsd.tmp#DataElementType_version SDCFormDesign_xsd.tmp#DataElementType_fullURI SDCFormDesign_xsd.tmp#DataElementType_prevVersionURI SDCFormDesign_xsd.tmp#DataElementType_instanceURI SDCFormDesign_xsd.tmp#DataElementType_instanceVersionURI SDCFormDesign_xsd.tmp#DataElementType_previousInstanceVersionURI SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#ChildElementsGroup_Section SDCFormDesign_xsd.tmp#ChildElementsGroup_Question SDCFormDesign_xsd.tmp#ChildElementsGroup_DisplayedItem SDCFormDesign_xsd.tmp#ChildElementsGroup_ButtonAction SDCFormDesign_xsd.tmp#ChildElementsGroup_InjectForm SDCFormDesign_xsd.tmp#ChildElementsGroup SDCFormDesign_xsd.tmp#DataElementType
Type DataElementType
Type hierarchy
Properties
content complex
Model
Children ButtonAction, Comment, DisplayedItem, Extension, InjectForm, Property, Question, Section
Instance
<DataElement basedOnURI="" baseURI="" filename="" fullURI="" ID="" instanceURI="" instanceVersionURI="" lineage="" name="" order="" previousInstanceVersionURI="" prevVersionURI="" responseStatusEnum="" responseTypeEnum="" styleClass="" title="" type="" version="" xmlns="urn:ihe:qrph:sdc:2016">
  <Comment name="" order="" styleClass="" type="" val="">{0,unbounded}</Comment>
  <Extension name="" order="" styleClass="" type="">{0,unbounded}</Extension>
  <Property name="" order="" propClass="" propName="" styleClass="" type="" val="">{0,unbounded}</Property>
  <Section baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" ordered="true" parentGUID="" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</Section>
  <Question baseURI="" enabled="true" ID="" instanceGUID="" maxCard="1" minCard="1" mustImplement="true" name="" order="" parentGUID="" readOnly="false" repeat="1" responseStatusEnum="" responseTypeEnum="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</Question>
  <DisplayedItem baseURI="" enabled="true" ID="" mustImplement="true" name="" order="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</DisplayedItem>
  <ButtonAction baseURI="" enabled="true" ID="" mustImplement="true" name="" order="" showInReport="True" styleClass="" title="" type="" visible="true">{0,1}</ButtonAction>
  <InjectForm baseURI="" ID="" name="" order="" pkgBaseURI="" pkgFullURI="" pkgID="" pkgInstanceURI="" pkgInstanceVersionURI="" pkgManagerURI="" rootItemID="" styleClass="" type="" X_injectionID="">{0,1}</InjectForm>
</DataElement>
Attributes
QName Type Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
basedOnURI URI_Atype optional
NEW: URI used to identify the DE that that this DE is based upon.  In most cases, this should be a standard form that is modified and/or extended by the current DE.   
                     
The current template reuses the basedOn IDs whenever the question/answer/semantic context is identical to the original.
filename xs:string optional
NEW: filename to use when the current DE instance is saved as a file.  
For DEs containing responses, the filename may include the deInstanceVersionURI, 
but the naming convention may be use-case-specific.
fullURI URI_Atype required
NEW: The full URI that uniquely identifies the current DE.   It is created by concatenating @baseURI + lineage + version.  Each of the componenets is separated by a single forward slash.
instanceURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a DE.  Used for tracking DE responses across time and across multiple episodes of editing by end-users.  This URI does not change for each edit session of a DE instance.
instanceVersionURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a DE's saved responses.  It is used for tracking DE responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit/save session of a DE instance.  It may be e.g., a new GUID, or a repeat of the deInstanceID followed by a version number.
lineage xs:string required
NEW: A text identifier that is used to group multiple versions of a single DE.  The lineage is constant for all versions of a single kind of DE.  

When appended to @baseURI, it can be used to retrieve all versions of one particular DE.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
prevVersionURI URI_Atype optional
NEW: The full URI used to identify the DE that is the immediate previous version of the current DE
previousInstanceVersionURI URI_Atype optional
NEW: Unique URI used to identify the immediate previous instance of a de containing responses.  This is the @deInstanceVersionURI that represents the instance of the form that the user opened up before beginning a new cycle of edit/save.  This attribute is used for tracking de responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit session of a de instance.
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
NEW: human readable title for display when choosing forms. Added 4/27/16
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
version xs:string required
NEW: @version contains the version text for the current DE.  It is designed to be used in conjuction with @baseURI and @lineage.
Source
<xs:element name="DataElement" type="DataElementType"/>
Complex Type FormDesignType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Start here.  This is the top level of the SDCFormDesign object model.  It represents the definition for the information content of a single data-entry form.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#FormDesignType_formTitle SDCFormDesign_xsd.tmp#FormDesignType_filename SDCFormDesign_xsd.tmp#FormDesignType_basedOnURI SDCFormDesign_xsd.tmp#FormDesignType_lineage SDCFormDesign_xsd.tmp#FormDesignType_version SDCFormDesign_xsd.tmp#FormDesignType_fullURI SDCFormDesign_xsd.tmp#FormDesignType_prevVersionURI SDCFormDesign_xsd.tmp#FormDesignType_formInstanceURI SDCFormDesign_xsd.tmp#FormDesignType_formInstanceVersionURI SDCFormDesign_xsd.tmp#FormDesignType_formPreviousInstanceVersionURI SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#FormDesignType_BeforeLoadForm SDCFormDesign_xsd.tmp#FormDesignType_BeforeLoadData SDCFormDesign_xsd.tmp#FormDesignType_BeforeShowForm SDCFormDesign_xsd.tmp#FormDesignType_BeforeDataSubmit SDCFormDesign_xsd.tmp#FormDesignType_BeforeCloseForm SDCFormDesign_xsd.tmp#FormDesignType_OnEvent SDCFormDesign_xsd.tmp#FormDesignType_Header SDCFormDesign_xsd.tmp#FormDesignType_Body SDCFormDesign_xsd.tmp#FormDesignType_Footer SDCFormDesign_xsd.tmp#FormDesignType_Rules
Type extension of IdentifiedExtensionType
Type hierarchy
Used by
Model
Children BeforeCloseForm, BeforeDataSubmit, BeforeLoadData, BeforeLoadForm, BeforeShowForm, Body, Comment, Extension, Footer, Header, OnEvent, Property, Rules
Attributes
QName Type Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
basedOnURI URI_Atype optional
NEW: URI used to identify the form that that this FormDesign is based upon.  In most cases, this should be a standard form that is modified and/or extended by the current FormDesign.   
                     
The current template reuses the basedOn IDs whenever the question/answer/semantic context is identical to the original.
                     
5/11/17:  Relying on data element mapping may be a better and more flexible approach than @basedOnURI. In this way, forms could compare data elements to determine if they contain semantic matches, and this is supported better with a more robust code map section.
filename xs:string optional
NEW: filename to use when the current FormDesign instance is saved as a file.  
For forms containing responses, the filename may include the formInstanceVersionURI, 
but the naming convention may be use-case-specific.
formInstanceURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a form.  Used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI does not change for each edit session of a form instance.
formInstanceVersionURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a form's saved responses.  It is used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit/save session of a form instance.  It may be e.g., a new GUID, or a repeat of the formInstanceID followed by a version number.
formPreviousInstanceVersionURI URI_Atype optional
NEW: Unique URI used to identify the immediate previous instance of a form containing responses.  This is the @formInstanceVersionURI that represents the instance of the form that the user opened up before beginning a new cycle of edit/save.  This attribute is used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit session of a form instance.
formTitle xs:string optional
NEW: human readable title for display when choosing forms. Added 4/27/16
fullURI URI_Atype required
NEW: The full URI that uniquely identifies the current form.   It is created by concatenating @baseURI + lineage + version.  Each of the componenets is separated by a single forward slash.
lineage xs:string required
NEW: A text identifier that is used to group multiple versions of a single form.  The lineage is constant for all versions of a single kind of form.  

When appended to @baseURI, it can be used to retrieve all versions of one particular form.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
prevVersionURI URI_Atype optional
NEW: The full URI used to identify the form that is the immediate previous version of the current FormDesign
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
version xs:string required
NEW: @version contains the version text for the current form.  It is designed to be used in conjuction with @baseURI and @lineage.
Source
<xs:complexType name="FormDesignType">
  <xs:annotation>
    <xs:documentation>Start here. This is the top level of the SDCFormDesign object model. It represents the definition for the information content of a single data-entry form.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="IdentifiedExtensionType">
      <xs:sequence minOccurs="0">
        <xs:element minOccurs="0" name="BeforeLoadForm" type="EventType">
          <xs:annotation>
            <xs:documentation>NEW: This event is fired before the page is loaded into memory, and before stored form data is loaded. It may be used, e.g., for authentication, to retrieve/prepare stored data, and/or to control form rendering according to user preferences.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="BeforeLoadData" type="EventType">
          <xs:annotation>
            <xs:documentation>NEW: This event is fired after the page is loaded into memory, before stored form data is loaded, and before the form is visible. For example, It may be used to determine the data to be loaded and to perform the data loading.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="BeforeShowForm" type="EventType">
          <xs:annotation>
            <xs:documentation>NEW: This event is fired after the page is loaded is memory, after the data is loaded into the form, but before the form is displayed. It may be used to perform form activities that are controlled by the loaded data.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="BeforeDataSubmit" type="EventType"/>
        <xs:element minOccurs="0" name="BeforeCloseForm" type="EventType"/>
        <xs:element minOccurs="0" name="OnEvent" maxOccurs="unbounded" type="OnEventType">
          <xs:annotation>
            <xs:documentation>Generic event handler - eventName must be specified.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Header" type="SectionItemType" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>Optional Section that stays at the top of a form.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Body" type="SectionItemType" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>Main Section of form</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Footer" type="SectionItemType" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>Optional Section that stays at the bottom of a form.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="Rules" type="RulesType">
        </xs:element>
      </xs:sequence>
      <xs:attribute name="formTitle" type="xs:string">
        <xs:annotation>
          <xs:documentation>NEW: human readable title for display when choosing forms. Added 4/27/16</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="filename" type="xs:string">
        <xs:annotation>
          <xs:documentation>NEW: filename to use when the current FormDesign instance is saved as a file. For forms containing responses, the filename may include the formInstanceVersionURI, but the naming convention may be use-case-specific.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="basedOnURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>NEW: URI used to identify the form that that this FormDesign is based upon. In most cases, this should be a standard form that is modified and/or extended by the current FormDesign. The current template reuses the basedOn IDs whenever the question/answer/semantic context is identical to the original. 5/11/17: Relying on data element mapping may be a better and more flexible approach than @basedOnURI. In this way, forms could compare data elements to determine if they contain semantic matches, and this is supported better with a more robust code map section.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="lineage" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>NEW: A text identifier that is used to group multiple versions of a single form. The lineage is constant for all versions of a single kind of form. When appended to @baseURI, it can be used to retrieve all versions of one particular form.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="version" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>NEW: @version contains the version text for the current form. It is designed to be used in conjuction with @baseURI and @lineage.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fullURI" type="URI_Atype" use="required">
        <xs:annotation>
          <xs:documentation>NEW: The full URI that uniquely identifies the current form. It is created by concatenating @baseURI + lineage + version. Each of the componenets is separated by a single forward slash.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="prevVersionURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>NEW: The full URI used to identify the form that is the immediate previous version of the current FormDesign</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="formInstanceURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>NEW: Unique URI used to identify a unique instance of a form. Used for tracking form responses across time and across multiple episodes of editing by end-users. This URI does not change for each edit session of a form instance.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="formInstanceVersionURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>NEW: Unique URI used to identify a unique instance of a form's saved responses. It is used for tracking form responses across time and across multiple episodes of editing by end-users. This URI must change for each edit/save session of a form instance. It may be e.g., a new GUID, or a repeat of the formInstanceID followed by a version number.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="formPreviousInstanceVersionURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>NEW: Unique URI used to identify the immediate previous instance of a form containing responses. This is the @formInstanceVersionURI that represents the instance of the form that the user opened up before beginning a new cycle of edit/save. This attribute is used for tracking form responses across time and across multiple episodes of editing by end-users. This URI must change for each edit session of a form instance.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attributeGroup ref="ResponseAttributes"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type EventType
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType
Type extension of ConditionalGroupActionType
Type hierarchy
Used by
Model
Children Actions, Comment, Conditions, Extension, Property
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:complexType name="EventType">
  <xs:complexContent>
    <xs:extension base="ConditionalGroupActionType">
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ConditionalGroupActionType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Execute an Action based when the Boolean condition returns true.

Boolean sub-Conditions and sub-Actions may be nested to any level.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions
Type extension of FuncBoolBaseType
Type hierarchy
Used by
Model
Children Actions, Comment, Conditions, Extension, Property
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:complexType name="ConditionalGroupActionType">
  <xs:annotation>
    <xs:documentation>Execute an Action based when the Boolean condition returns true. Boolean sub-Conditions and sub-Actions may be nested to any level.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="FuncBoolBaseType">
      <xs:choice>
        <xs:element name="Conditions" minOccurs="0" type="ConditionsSubActionsType">
        </xs:element>
        <xs:element name="Actions" minOccurs="0" type="ActionsType">
        </xs:element>
      </xs:choice>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ConditionsSubActionsType
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#ConditionsSubActionsType_AttributeCondition SDCFormDesign_xsd.tmp#ConditionsSubActionsType_MultiSelections SDCFormDesign_xsd.tmp#ConditionsSubActionsType_IllegalSelectionSets SDCFormDesign_xsd.tmp#ConditionsSubActionsType_IllegalSelectionTest SDCFormDesign_xsd.tmp#ConditionsSubActionsType_ScriptCondition SDCFormDesign_xsd.tmp#ConditionsSubActionsType_Group
Type extension of FuncBoolBaseType
Type hierarchy
Used by
Model
Children AttributeCondition, Comment, Extension, Group, IllegalSelectionSets, IllegalSelectionTest, MultiSelections, Property, ScriptCondition
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:complexType name="ConditionsSubActionsType">
  <xs:complexContent>
    <xs:extension base="FuncBoolBaseType">
      <xs:sequence>
        <xs:element name="AttributeCondition" maxOccurs="unbounded" minOccurs="0">
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="GetItemAttribValuesType">
                <xs:sequence minOccurs="0">
                  <xs:element name="Actions" minOccurs="0" type="ActionsType"/>
                </xs:sequence>
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="MultiSelections">
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="MultiSelectionSetBoolType">
                <xs:sequence minOccurs="0">
                  <xs:element name="Actions" minOccurs="0" type="ActionsType"/>
                </xs:sequence>
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="IllegalSelectionSets" maxOccurs="unbounded" minOccurs="0">
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="RuleSingleSelectionSetsType">
                <xs:sequence minOccurs="0">
                  <xs:element name="Actions" minOccurs="0" type="ActionsType"/>
                </xs:sequence>
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="IllegalSelectionTest">
          <xs:annotation>
            <xs:documentation/>
          </xs:annotation>
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="RuleSelectionTestType">
                <xs:sequence minOccurs="0">
                  <xs:element name="Actions" minOccurs="0" type="ActionsType"/>
                </xs:sequence>
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="ScriptCondition" maxOccurs="unbounded" minOccurs="0">
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="ScriptCodeBoolType">
                <xs:sequence minOccurs="0">
                  <xs:element name="Actions" minOccurs="0" type="ActionsType"/>
                </xs:sequence>
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="Group" type="ConditionalGroupActionType" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attributeGroup ref="BoolAttributes"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type GetItemAttribValuesType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This Rule evaluates an arbitrary set of attribute values from any item and returns a Boolean summary value.

In the PropertyValues condition, the contained Boolean attributed values are ANDed together (by default) to return a derived Boolean value.  Default values are used if the attribute is not explicitly  set to a value.  For attributes without default values, omitted (null) values are ignored and are not used for null propagation.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#GetItemAttribValuesType_itemNames SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isSelected SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isActive SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasSelectionsGTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasSelectionsLTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasSelectionsExact SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasResponse SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isVisible SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isEnabled SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isRequired SDCFormDesign_xsd.tmp#GetItemAttribValuesType_isReadOnly SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasType SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasStyleClass SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueEQ SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueLT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueLTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueGT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasValueGTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValue SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueEQ SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueLT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueLTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueGT SDCFormDesign_xsd.tmp#GetItemAttribValuesType_hasAssociatedValueGTE SDCFormDesign_xsd.tmp#GetItemAttribValuesType_supportdatesandIntervals SDCFormDesign_xsd.tmp#GetItemAttribValuesType_ScriptBoolFunc SDCFormDesign_xsd.tmp#GetItemAttribValuesType_CallBoolFunc SDCFormDesign_xsd.tmp#GetItemAttribValuesType_Group
Type extension of FuncBoolBaseType
Type hierarchy
Used by
Model
Children CallBoolFunc, Comment, Extension, Group, Property, ScriptBoolFunc
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
hasAssociatedValue xs:boolean optional
Applies only to ListItems. If the attribute has a value in it, this property returns true.  If it does not have a value, it returns false.
hasAssociatedValueEQ xs:decimal optional
hasAssociatedValueGT xs:decimal optional
hasAssociatedValueGTE xs:decimal optional
hasAssociatedValueLT xs:decimal optional
hasAssociatedValueLTE xs:decimal optional
hasResponse xs:boolean optional
Applies only to items that have Response Fields (Questions and ListItems).  If the ListItem or Question has a Response Field, and that field has a value in it, this property returns true.  If it does not have a value, it returns false.  If no Response Field is present, it retuns null and is not used for Boolean comparisons.
hasSelectionsExact xs:nonNegativeInteger optional
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items equals the entered value.
hasSelectionsGTE xs:nonNegativeInteger optional
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items equals or exceeds the entered value.
hasSelectionsLTE xs:nonNegativeInteger optional
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items is less than or equal to the entered value.
hasStyleClass xs:NMTOKENS optional
hasType xs:NMTOKENS optional
hasValueEQ xs:decimal optional
hasValueGT xs:decimal optional
hasValueGTE xs:decimal optional
hasValueLT xs:decimal optional
hasValueLTE xs:decimal optional
isActive xs:boolean optional
If visible and enabled are both true, then isActive is true.  Otherwise, it is false.
isEnabled xs:boolean optional
isReadOnly xs:boolean optional
isRequired xs:boolean optional
If the minCard value is greater than 0, then isRequired = "true"  
If the minCard = "0" then isRequired = "false"
isSelected xs:boolean optional
isVisible xs:boolean optional
itemNames xs:NMTOKENS required
Required name(s) of the item(s) (Section, Question, List Item) that contains the item properties used in the other attributes.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
supportdatesandIntervals optional
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:complexType name="GetItemAttribValuesType">
  <xs:annotation>
    <xs:documentation>This Rule evaluates an arbitrary set of attribute values from any item and returns a Boolean summary value. In the PropertyValues condition, the contained Boolean attributed values are ANDed together (by default) to return a derived Boolean value. Default values are used if the attribute is not explicitly set to a value. For attributes without default values, omitted (null) values are ignored and are not used for null propagation.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="FuncBoolBaseType">
      <xs:sequence>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="ScriptBoolFunc" type="ScriptCodeBoolType"/>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="CallBoolFunc" type="CallBoolFuncType"/>
        <xs:element maxOccurs="unbounded" name="Group" type="GetItemAttribValuesType"/>
      </xs:sequence>
      <xs:attributeGroup ref="BoolAttributes"/>
      <xs:attribute name="itemNames" type="xs:NMTOKENS" use="required">
        <xs:annotation>
          <xs:documentation>Required name(s) of the item(s) (Section, Question, List Item) that contains the item properties used in the other attributes.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="isSelected" type="xs:boolean"/>
      <xs:attribute name="isActive" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>If visible and enabled are both true, then isActive is true. Otherwise, it is false.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="hasSelectionsGTE" type="xs:nonNegativeInteger">
        <xs:annotation>
          <xs:documentation>Applies only to Questions that have selection lists (ListItems or LookupField). Evaluates to true if the number of selected items equals or exceeds the entered value.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="hasSelectionsLTE" type="xs:nonNegativeInteger">
        <xs:annotation>
          <xs:documentation>Applies only to Questions that have selection lists (ListItems or LookupField). Evaluates to true if the number of selected items is less than or equal to the entered value.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="hasSelectionsExact" type="xs:nonNegativeInteger">
        <xs:annotation>
          <xs:documentation>Applies only to Questions that have selection lists (ListItems or LookupField). Evaluates to true if the number of selected items equals the entered value.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="hasResponse" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>Applies only to items that have Response Fields (Questions and ListItems). If the ListItem or Question has a Response Field, and that field has a value in it, this property returns true. If it does not have a value, it returns false. If no Response Field is present, it retuns null and is not used for Boolean comparisons.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="isVisible" type="xs:boolean"/>
      <xs:attribute name="isEnabled" type="xs:boolean"/>
      <xs:attribute name="isRequired" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>If the minCard value is greater than 0, then isRequired = "true" If the minCard = "0" then isRequired = "false"</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="isReadOnly" type="xs:boolean"/>
      <xs:attribute name="hasType" type="xs:NMTOKENS"/>
      <xs:attribute name="hasStyleClass" type="xs:NMTOKENS"/>
      <xs:attribute name="hasValueEQ" type="xs:decimal"/>
      <xs:attribute name="hasValueLT" type="xs:decimal"/>
      <xs:attribute name="hasValueLTE" type="xs:decimal"/>
      <xs:attribute name="hasValueGT" type="xs:decimal"/>
      <xs:attribute name="hasValueGTE" type="xs:decimal"/>
      <xs:attribute name="hasAssociatedValue" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>Applies only to ListItems. If the attribute has a value in it, this property returns true. If it does not have a value, it returns false.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="hasAssociatedValueEQ" type="xs:decimal"/>
      <xs:attribute name="hasAssociatedValueLT" type="xs:decimal"/>
      <xs:attribute name="hasAssociatedValueLTE" type="xs:decimal"/>
      <xs:attribute name="hasAssociatedValueGT" type="xs:decimal"/>
      <xs:attribute name="hasAssociatedValueGTE" type="xs:decimal"/>
      <xs:attribute name="supportdatesandIntervals"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActionsType
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActionsType_Action SDCFormDesign_xsd.tmp#ActionsType_SetProperty SDCFormDesign_xsd.tmp#ActionsType_AddCode SDCFormDesign_xsd.tmp#ActionsType_Inject SDCFormDesign_xsd.tmp#ActionsType_ShowURL SDCFormDesign_xsd.tmp#ActionsType_Save SDCFormDesign_xsd.tmp#ActionsType_SendReport SDCFormDesign_xsd.tmp#ActionsType_SendMessage111 SDCFormDesign_xsd.tmp#ActionsType_SetItemAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetAttributeValue SDCFormDesign_xsd.tmp#ActionsType_SetBoolValue SDCFormDesign_xsd.tmp#ActionsType_ShowForm SDCFormDesign_xsd.tmp#ActionsType_ShowMessage SDCFormDesign_xsd.tmp#ActionsType_ShowReport SDCFormDesign_xsd.tmp#ActionsType_PreviewReport SDCFormDesign_xsd.tmp#ActionsType_ValidateForm SDCFormDesign_xsd.tmp#ActionsType_RunCode SDCFormDesign_xsd.tmp#ActionsType_CallCode SDCFormDesign_xsd.tmp#ActionsType_ConditionalGroupAction
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Action, AddCode, CallCode, Comment, ConditionalGroupAction, Extension, Inject, PreviewReport, Property, RunCode, Save, SendMessage111, SendReport, SetAttributeValue, SetBoolValue, SetItemAttributeValue, SetProperty, ShowForm, ShowMessage, ShowReport, ShowURL, ValidateForm
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ActionsType">
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:choice maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Then action choices and nested conditional statements</xs:documentation>
        </xs:annotation>
        <xs:element name="Action" type="ActActionType">
          <xs:annotation>
            <xs:documentation>A generic ExtensionBaseType for custom actions in a "Then" section.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="SetProperty" type="ActSetItemAttributeType"/>
        <xs:element name="AddCode" type="ActAddCodeType"/>
        <xs:element name="Inject" type="ActInjectType"/>
        <xs:element name="ShowURL" type="CallFuncType"/>
        <xs:element name="Save" type="ActSaveResponsesType"/>
        <xs:element name="SendReport" type="ActSendReportType"/>
        <xs:element name="SendMessage111" type="ActSendMessageType"/>
        <xs:element name="SetItemAttributeValue" type="ActSetItemAttributeType"/>
        <xs:element name="SetAttributeValue" type="ActSetAttrValueType"/>
        <xs:element name="SetBoolValue" type="ActSetValueBoolType"/>
        <xs:element name="ShowForm" type="ActShowFormType"/>
        <xs:element name="ShowMessage" type="ActShowMessageType"/>
        <xs:element name="ShowReport" type="ActShowReportType"/>
        <xs:element name="PreviewReport" type="ActPreviewReportType"/>
        <xs:element name="ValidateForm" type="ActValidateFormType"/>
        <xs:element name="RunCode" type="ScriptCodeAnyType"/>
        <xs:element name="CallCode" type="CallFuncType">
          <xs:annotation>
            <xs:documentation>Execute a local rule located elsewhere in the FormDesign template. Use the @name value in @val property of Function</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ConditionalGroupAction" type="ConditionalGroupActionType"/>
      </xs:choice>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActActionType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Add a custom action, not defined in the basic SDC Schemas.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActActionType_action SDCFormDesign_xsd.tmp#ActActionType_Parameter SDCFormDesign_xsd.tmp#ActActionType_ParameterValue
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, Parameter, ParameterValue, Property
Attributes
QName Type Use Annotation
action xs:string required
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ActActionType">
  <xs:annotation>
    <xs:documentation>Add a custom action, not defined in the basic SDC Schemas.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:choice maxOccurs="unbounded" minOccurs="0">
        <xs:element maxOccurs="unbounded" minOccurs="0" name="Parameter" type="ParameterItemType"/>
        <xs:element minOccurs="0" name="ParameterValue" type="ParameterValueType" maxOccurs="unbounded"/>
      </xs:choice>
      <xs:attribute name="action" type="xs:string" use="required"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActSetItemAttributeType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This type is used to act upon the value of common item attributes.  If an "act" attribute (a type with the "act" prefix) has no value assigned, it is ignored. If it has a value, then that attribute on the target item(s) assume(s) that stated value when an attached Boolean condition evaluates to true.  The attached condition may be an "If" statement or any expression that evaluates to a Boolean value.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActSetItemAttributeType_targetNames SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actVisible SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actEnable SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actMinCard SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actMaxCard SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actActivate SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSelect SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actDeleteResponse SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actReadOnly SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actType SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actStyleClass SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetTitleText SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetBase64HTML SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetCode SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetCodeSystem SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetVal SDCFormDesign_xsd.tmp#ActSetItemAttributeType_actSetAssociatedValue
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, Property
Attributes
QName Type Use Annotation
actActivate xs:boolean optional
Toggle visible and enabled together.  Setting this to false will de-activate all descendents but will not change their enabled or visible properties.
actDeleteResponse xs:boolean optional
Delete any response in a Response field on a question or ListItem.  Not applicable to other item types.
actEnable xs:boolean optional
actMaxCard xs:nonNegativeInteger optional
Controls requirement to answer the question
actMinCard xs:nonNegativeInteger optional
Controls requirement to answer the question and the minimum number of repeats.
actReadOnly xs:boolean optional
Delete any response in a Response field on a question or ListItem.  Not applicable to other item types.
actSelect xs:boolean optional
Toggle selection of a List Item; not applicable to other items.
actSetAssociatedValue xs:string optional
Set @associatedValue attribute of a ListItem.  The correct data type must be used if applicable.
actSetBase64HTML xs:base64Binary optional
Set HTML as base-64-encoded binary
actSetCode xs:string optional
actSetCodeSystem xs:string optional
actSetTitleText xs:string optional
Set the @title text on an item.
actSetVal xs:string optional
Set a @val attribute.  The correct data type must be used if applicable.
actStyleClass xs:NMTOKENS optional
Set the @styleClass attribute value
actType xs:NMTOKENS optional
Set the @type attribute value
actVisible xs:boolean optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
targetNames xs:NMTOKENS required
The names of the items affected by property actions
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ActSetItemAttributeType">
  <xs:annotation>
    <xs:documentation>This type is used to act upon the value of common item attributes. If an "act" attribute (a type with the "act" prefix) has no value assigned, it is ignored. If it has a value, then that attribute on the target item(s) assume(s) that stated value when an attached Boolean condition evaluates to true. The attached condition may be an "If" statement or any expression that evaluates to a Boolean value.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:attribute name="targetNames" type="xs:NMTOKENS" use="required">
        <xs:annotation>
          <xs:documentation>The names of the items affected by property actions</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actVisible" type="xs:boolean"/>
      <xs:attribute name="actEnable" type="xs:boolean"/>
      <xs:attribute name="actMinCard" type="xs:nonNegativeInteger">
        <xs:annotation>
          <xs:documentation>Controls requirement to answer the question and the minimum number of repeats.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actMaxCard" type="xs:nonNegativeInteger">
        <xs:annotation>
          <xs:documentation>Controls requirement to answer the question</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actActivate" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>Toggle visible and enabled together. Setting this to false will de-activate all descendents but will not change their enabled or visible properties.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actSelect" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>Toggle selection of a List Item; not applicable to other items.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actDeleteResponse" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>Delete any response in a Response field on a question or ListItem. Not applicable to other item types.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actReadOnly" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>Delete any response in a Response field on a question or ListItem. Not applicable to other item types.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actType" type="xs:NMTOKENS">
        <xs:annotation>
          <xs:documentation>Set the @type attribute value</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actStyleClass" type="xs:NMTOKENS">
        <xs:annotation>
          <xs:documentation>Set the @styleClass attribute value</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actSetTitleText" type="xs:string">
        <xs:annotation>
          <xs:documentation>Set the @title text on an item.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actSetBase64HTML" type="xs:base64Binary">
        <xs:annotation>
          <xs:documentation>Set HTML as base-64-encoded binary</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actSetCode" type="xs:string"/>
      <xs:attribute name="actSetCodeSystem" type="xs:string"/>
      <xs:attribute name="actSetVal" type="xs:string">
        <xs:annotation>
          <xs:documentation>Set a @val attribute. The correct data type must be used if applicable.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actSetAssociatedValue" type="xs:string">
        <xs:annotation>
          <xs:documentation>Set @associatedValue attribute of a ListItem. The correct data type must be used if applicable.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActAddCodeType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Add all or part of a coding section to the designated target site.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#ItemNameType_itemName SDCResources_xsd.tmp#ItemNameType SDCFormDesign_xsd.tmp#ActAddCodeType_Code
Type extension of ItemNameType
Type hierarchy
Used by
Model
Children Code, Comment, Extension, Property
Attributes
QName Type Use Annotation
itemName xs:NCName required
The @name attribute of the referenced element.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ActAddCodeType">
  <xs:annotation>
    <xs:documentation>Add all or part of a coding section to the designated target site.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ItemNameType">
      <xs:sequence>
        <xs:element name="Code" type="CodingType"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActInjectType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Inject a form or part of a form at the specified location.  The injected section may come from the current form.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#InjectFormType_pkgID SDCFormDesign_xsd.tmp#InjectFormType_pkgInstanceURI SDCFormDesign_xsd.tmp#InjectFormType_pkgInstanceVersionURI SDCFormDesign_xsd.tmp#InjectFormType_pkgBaseURI SDCFormDesign_xsd.tmp#InjectFormType_pkgFullURI SDCFormDesign_xsd.tmp#InjectFormType_pkgManagerURI SDCFormDesign_xsd.tmp#InjectFormType_rootItemID SDCFormDesign_xsd.tmp#InjectFormType_X_injectionID SDCFormDesign_xsd.tmp#InjectFormType_Section SDCFormDesign_xsd.tmp#InjectFormType_Question SDCFormDesign_xsd.tmp#InjectFormType_FormDesign SDCFormDesign_xsd.tmp#InjectFormType SDCFormDesign_xsd.tmp#ActInjectType_targetNames
Type extension of InjectFormType
Type hierarchy
Used by
Model
Children Comment, Extension, FormDesign, Property, Question, Section
Attributes
QName Type Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
X_injectionID xs:string optional
Unique ID (GUID) to distinguish multiple instances of the same injected node.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
pkgBaseURI URI_Atype optional
DRAFT: The baseURI of the package, whihc indicates the home source of the package.  The formManagerURP + pkgBaseURI + pkgID are concatenated to retrieve an empty form.  formManagerURP + pkgBaseURI + pkgInstanceVersionURI are concatenated to retrieve a specific version of a populated form.  formManagerURP + pkgBaseURI + pkgInstanceURI are concatenated to retrieve the latest instance of a populated form.
pkgFullURI URI_Atype optional
DRAFT: The injected package is retrieved form formManagerURI + "/" + pkgFullURI
pkgID URI_Atype optional
This ID represents the Package that contains the form to be injected.  The package may contain an empty form or a form containing responses.
pkgInstanceURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a package.  Used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI does not change for each edit session of a package instance.
pkgInstanceVersionURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a package's saved responses.  It is used for tracking package responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit/save session of a package instance.  It may be e.g., a new GUID, or a repeat of the pkgInstanceID followed by a version number.
pkgManagerURI URI_Atype optional
The server from which the injected package will be retrieved.
rootItemID URI_Atype optional
The rootItemID is the ID of the form part that will be injected.  If empty, then the entre form should be injected as the FormDesign element node.  If not empty, it must point to a valid Section or Question.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
targetNames xs:NMTOKENS optional
The names of the parent items that will have the form (or form section) injected as child node(s).
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ActInjectType">
  <xs:annotation>
    <xs:documentation>Inject a form or part of a form at the specified location. The injected section may come from the current form.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="InjectFormType">
      <xs:attribute name="targetNames" type="xs:NMTOKENS">
        <xs:annotation>
          <xs:documentation>The names of the parent items that will have the form (or form section) injected as child node(s).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type InjectFormType
Namespace urn:ihe:qrph:sdc:2016
Annotations
CHANGED:
This type represents a form or portion of a form that is imported into the current form at a specific location.  It allows the composition of forms from other forms or parts of other forms.

In practice, using an injected section will requiresome or all of the injected FormDesignXML to be injected under this the InjectForm element.  For that reason, the schema supports those elements to appear inline.  However, in a "raw" form (not yet filled out), the FormDesign element would generally be empty; only the top-level InjectFormType attributes would be used to point to the parts to be later injected.

Form parts to be injected are specified by packageID, not FormID.  This allows an injected form to be assocaited with helper files, or to return previosuly completed form parts containing responses.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#InjectFormType_pkgID SDCFormDesign_xsd.tmp#InjectFormType_pkgInstanceURI SDCFormDesign_xsd.tmp#InjectFormType_pkgInstanceVersionURI SDCFormDesign_xsd.tmp#InjectFormType_pkgBaseURI SDCFormDesign_xsd.tmp#InjectFormType_pkgFullURI SDCFormDesign_xsd.tmp#InjectFormType_pkgManagerURI SDCFormDesign_xsd.tmp#InjectFormType_rootItemID SDCFormDesign_xsd.tmp#InjectFormType_X_injectionID SDCFormDesign_xsd.tmp#InjectFormType_Section SDCFormDesign_xsd.tmp#InjectFormType_Question SDCFormDesign_xsd.tmp#InjectFormType_FormDesign
Type extension of IdentifiedExtensionType
Type hierarchy
Used by
Model
Children Comment, Extension, FormDesign, Property, Question, Section
Attributes
QName Type Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
X_injectionID xs:string optional
Unique ID (GUID) to distinguish multiple instances of the same injected node.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
pkgBaseURI URI_Atype optional
DRAFT: The baseURI of the package, whihc indicates the home source of the package.  The formManagerURP + pkgBaseURI + pkgID are concatenated to retrieve an empty form.  formManagerURP + pkgBaseURI + pkgInstanceVersionURI are concatenated to retrieve a specific version of a populated form.  formManagerURP + pkgBaseURI + pkgInstanceURI are concatenated to retrieve the latest instance of a populated form.
pkgFullURI URI_Atype optional
DRAFT: The injected package is retrieved form formManagerURI + "/" + pkgFullURI
pkgID URI_Atype optional
This ID represents the Package that contains the form to be injected.  The package may contain an empty form or a form containing responses.
pkgInstanceURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a package.  Used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI does not change for each edit session of a package instance.
pkgInstanceVersionURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a package's saved responses.  It is used for tracking package responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit/save session of a package instance.  It may be e.g., a new GUID, or a repeat of the pkgInstanceID followed by a version number.
pkgManagerURI URI_Atype optional
The server from which the injected package will be retrieved.
rootItemID URI_Atype optional
The rootItemID is the ID of the form part that will be injected.  If empty, then the entre form should be injected as the FormDesign element node.  If not empty, it must point to a valid Section or Question.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="InjectFormType">
  <xs:annotation>
    <xs:documentation>CHANGED: This type represents a form or portion of a form that is imported into the current form at a specific location. It allows the composition of forms from other forms or parts of other forms. In practice, using an injected section will requiresome or all of the injected FormDesignXML to be injected under this the InjectForm element. For that reason, the schema supports those elements to appear inline. However, in a "raw" form (not yet filled out), the FormDesign element would generally be empty; only the top-level InjectFormType attributes would be used to point to the parts to be later injected. Form parts to be injected are specified by packageID, not FormID. This allows an injected form to be assocaited with helper files, or to return previosuly completed form parts containing responses.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="IdentifiedExtensionType">
      <xs:choice minOccurs="0">
        <xs:element name="Section" type="SectionItemType"/>
        <xs:element name="Question" type="QuestionItemType"/>
        <xs:element name="FormDesign" type="FormDesignType"/>
      </xs:choice>
      <xs:attribute name="pkgID" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>This ID represents the Package that contains the form to be injected. The package may contain an empty form or a form containing responses.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="pkgInstanceURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>NEW: Unique URI used to identify a unique instance of a package. Used for tracking form responses across time and across multiple episodes of editing by end-users. This URI does not change for each edit session of a package instance.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="pkgInstanceVersionURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>NEW: Unique URI used to identify a unique instance of a package's saved responses. It is used for tracking package responses across time and across multiple episodes of editing by end-users. This URI must change for each edit/save session of a package instance. It may be e.g., a new GUID, or a repeat of the pkgInstanceID followed by a version number.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="pkgBaseURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>DRAFT: The baseURI of the package, whihc indicates the home source of the package. The formManagerURP + pkgBaseURI + pkgID are concatenated to retrieve an empty form. formManagerURP + pkgBaseURI + pkgInstanceVersionURI are concatenated to retrieve a specific version of a populated form. formManagerURP + pkgBaseURI + pkgInstanceURI are concatenated to retrieve the latest instance of a populated form.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="pkgFullURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>DRAFT: The injected package is retrieved form formManagerURI + "/" + pkgFullURI</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="pkgManagerURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>The server from which the injected package will be retrieved.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="rootItemID" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>The rootItemID is the ID of the form part that will be injected. If empty, then the entre form should be injected as the FormDesign element node. If not empty, it must point to a valid Section or Question.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="X_injectionID" type="xs:string">
        <xs:annotation>
          <xs:documentation>Unique ID (GUID) to distinguish multiple instances of the same injected node.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type SectionItemType
Namespace urn:ihe:qrph:sdc:2016
Annotations
The Section is a grouper for all other types of objects.  It may have a distinctive visual display (e.g. a box containing other displayed objects), and it may be used to treat Section descendants as a unit for special handling, such as hiding and showing.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#RepeatingType_minCard SDCFormDesign_xsd.tmp#RepeatingType_maxCard SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#RepeatingType SDCFormDesign_xsd.tmp#SectionBaseType_ordered SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#SectionBaseType SDCFormDesign_xsd.tmp#SectionItemType_ChildItems
Type extension of SectionBaseType
Type hierarchy
Used by
Model
Children ActivateIf, BlobContent, ChildItems, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnEnter, OnEvent, OnExit, Property
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
maxCard xs:unsignedShort 1 optional
@maxCard is the maximum number of repetitions allowed for a section or question.  The default value is 1, indicating that the section or question cannot be repeated on the data entry form.  A value of 0 indicates that the number of repeats is unlimited.  If @maxCard is not 0, then Must be greater than or equal to minCard.
minCard xs:unsignedShort 1 optional
@minCard is the minimum number of repetitions allowed for a section or question.  The default value is 1, indicating that the user must answer any question(s) that has this attribute set.  If @minCard is set to 0, then the item and all descendent questions are optional to answer.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
ordered xs:boolean true optional
If false, then the form implementation may change the order of items in the section.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:complexType name="SectionItemType">
  <xs:annotation>
    <xs:documentation>The Section is a grouper for all other types of objects. It may have a distinctive visual display (e.g. a box containing other displayed objects), and it may be used to treat Section descendants as a unit for special handling, such as hiding and showing.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="SectionBaseType">
      <xs:choice minOccurs="0">
        <xs:annotation>
          <xs:documentation>MainNodes choices</xs:documentation>
        </xs:annotation>
        <xs:element name="ChildItems" type="ChildItemsType" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Child items are of type DisplayedType. They may include items of type SectionType, QuestionType, InjectFormType, DisplayedType and ButtonType, in any order.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:choice>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type SectionBaseType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This base item is the same as the SectionItemType, except it lacks the recursion created by the inclusion of MainItems sub-group.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#RepeatingType_minCard SDCFormDesign_xsd.tmp#RepeatingType_maxCard SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#RepeatingType SDCFormDesign_xsd.tmp#SectionBaseType_ordered SDCFormDesign_xsd.tmp#ResponseAttributes
Type extension of RepeatingType
Type hierarchy
Properties
abstract true
Used by
Complex Type SectionItemType
Model
Children ActivateIf, BlobContent, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnEnter, OnEvent, OnExit, Property
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
maxCard xs:unsignedShort 1 optional
@maxCard is the maximum number of repetitions allowed for a section or question.  The default value is 1, indicating that the section or question cannot be repeated on the data entry form.  A value of 0 indicates that the number of repeats is unlimited.  If @maxCard is not 0, then Must be greater than or equal to minCard.
minCard xs:unsignedShort 1 optional
@minCard is the minimum number of repetitions allowed for a section or question.  The default value is 1, indicating that the user must answer any question(s) that has this attribute set.  If @minCard is set to 0, then the item and all descendent questions are optional to answer.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
ordered xs:boolean true optional
If false, then the form implementation may change the order of items in the section.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:complexType name="SectionBaseType" abstract="true">
  <xs:annotation>
    <xs:documentation>This base item is the same as the SectionItemType, except it lacks the recursion created by the inclusion of MainItems sub-group.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="RepeatingType">
      <xs:attribute default="true" name="ordered" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>If false, then the form implementation may change the order of items in the section.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attributeGroup ref="ResponseAttributes"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type RepeatingType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This type presents any display objects that may be repeated based upon on the user's interaction with the form objects.  Items derived from this type include Sections and Questions.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#RepeatingType_minCard SDCFormDesign_xsd.tmp#RepeatingType_maxCard SDCFormDesign_xsd.tmp#ResponseReportingAttributes
Type extension of DisplayedType
Type hierarchy
Properties
abstract true
Used by
Model
Children ActivateIf, BlobContent, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnEnter, OnEvent, OnExit, Property
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
maxCard xs:unsignedShort 1 optional
@maxCard is the maximum number of repetitions allowed for a section or question.  The default value is 1, indicating that the section or question cannot be repeated on the data entry form.  A value of 0 indicates that the number of repeats is unlimited.  If @maxCard is not 0, then Must be greater than or equal to minCard.
minCard xs:unsignedShort 1 optional
@minCard is the minimum number of repetitions allowed for a section or question.  The default value is 1, indicating that the user must answer any question(s) that has this attribute set.  If @minCard is set to 0, then the item and all descendent questions are optional to answer.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:complexType name="RepeatingType" abstract="true">
  <xs:annotation>
    <xs:documentation>This type presents any display objects that may be repeated based upon on the user's interaction with the form objects. Items derived from this type include Sections and Questions.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="DisplayedType">
      <xs:attribute name="minCard" type="xs:unsignedShort" default="1">
        <xs:annotation>
          <xs:documentation>@minCard is the minimum number of repetitions allowed for a section or question. The default value is 1, indicating that the user must answer any question(s) that has this attribute set. If @minCard is set to 0, then the item and all descendent questions are optional to answer.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="maxCard" default="1" type="xs:unsignedShort">
        <xs:annotation>
          <xs:documentation>@maxCard is the maximum number of repetitions allowed for a section or question. The default value is 1, indicating that the section or question cannot be repeated on the data entry form. A value of 0 indicates that the number of repeats is unlimited. If @maxCard is not 0, then Must be greater than or equal to minCard.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attributeGroup ref="ResponseReportingAttributes"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type DisplayedType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This type represents any object that is designed to have a visual presence on a form, e.g., Sections, Questions, ListItems, Notes and Blobs.  (Other items not inheriting this type may use an optional styleClass attribute.)
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf
Type extension of IdentifiedExtensionType
Type hierarchy
Used by
Model
Children ActivateIf, BlobContent, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnEnter, OnEvent, OnExit, Property
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:complexType name="DisplayedType">
  <xs:annotation>
    <xs:documentation>This type represents any object that is designed to have a visual presence on a form, e.g., Sections, Questions, ListItems, Notes and Blobs. (Other items not inheriting this type may use an optional styleClass attribute.)</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="IdentifiedExtensionType">
      <xs:sequence>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="Link" type="LinkType">
          <xs:annotation>
            <xs:documentation>Link to external information.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="BlobContent" type="BlobType" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Blob information associated with the current DisplayedType. The blob may contain any type of special media, but must be base 64 encoded.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element maxOccurs="unbounded" name="Contact" type="ContactType" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Any desired contact information regarding, e.g., the form item, authoring process, certifications, code or coding processs.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="CodedValue" type="CodingType">
          <xs:annotation>
            <xs:documentation>Coding, terminology, classification, keyword, or local values</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="OnEnter" type="EventType" maxOccurs="unbounded"/>
        <xs:element minOccurs="0" name="OnExit" type="EventType" maxOccurs="unbounded"/>
        <xs:element minOccurs="0" name="OnEvent" maxOccurs="unbounded" type="OnEventType">
          <xs:annotation>
            <xs:documentation>Generic event handler - eventName must be specified.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="ActivateIf" type="GuardType">
          <xs:annotation>
            <xs:documentation>Activate the DisplayedType item if the guard conditions are met.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="DeActivateIf" type="GuardType">
          <xs:annotation>
            <xs:documentation>DeActivate the DisplayedType item if the guard conditions are met.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="title" type="xs:string">
        <xs:annotation>
          <xs:documentation>The primary text to show on the form. Also known as "prompt" or "label" or "visibleText" or "caption"</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="true" name="enabled" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>Determines whether the user can interact with the displayed item when the form is first displayed.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="true" name="visible" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>Determines whether the item should be visible on a computer screen when the form is first displayed.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="true" name="mustImplement" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="True" name="showInReport">
        <xs:annotation>
          <xs:documentation>CHANGED to T/F/Optional If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template. If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report. If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report. If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report. This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="True"/>
            <xs:enumeration value="False"/>
            <xs:enumeration value="Optional"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActSaveResponsesType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Save the form's responses to the default persistance layer(s).  The default format is SDCSubmitForm, but other formats may be defined and used.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActSaveResponsesType_MessageText
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, MessageText, Property
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ActSaveResponsesType">
  <xs:annotation>
    <xs:documentation>Save the form's responses to the default persistance layer(s). The default format is SDCSubmitForm, but other formats may be defined and used.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:sequence>
        <xs:element name="MessageText" type="RichTextType"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActSendReportType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Send a report to an endpoint, via email, fax or web service.  The default report will be transmittted in SDCSubmitForm format, but may adopt a custom report type
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActSendReportType_reportID SDCFormDesign_xsd.tmp#ActSendReportType_reportInstanceGuid SDCFormDesign_xsd.tmp#ActSendReportType_reportInstanceVersonGuid SDCFormDesign_xsd.tmp#ActSendReportType_Email SDCFormDesign_xsd.tmp#ActSendReportType_Fax SDCFormDesign_xsd.tmp#ActSendReportType_WebService
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Comment, Email, Extension, Fax, Property, WebService
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
reportID URI_Atype optional
reportInstanceGuid xs:string optional
reportInstanceVersonGuid xs:string optional
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ActSendReportType">
  <xs:annotation>
    <xs:documentation>Send a report to an endpoint, via email, fax or web service. The default report will be transmittted in SDCSubmitForm format, but may adopt a custom report type</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:choice maxOccurs="unbounded">
        <xs:element name="Email" type="EmailAddressType"/>
        <xs:element name="Fax" type="PhoneNumberType"/>
        <xs:element name="WebService" type="CallFuncType"/>
      </xs:choice>
      <xs:attribute name="reportID" type="URI_Atype"/>
      <xs:attribute name="reportInstanceGuid" type="xs:string"/>
      <xs:attribute name="reportInstanceVersonGuid" type="xs:string"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActSendMessageType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Send a message to any endpoint.  Messages may include alerts of various types.  The default datatype for messages is string.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#RichTextType_val SDCResources_xsd.tmp#RichTextType_RichText SDCResources_xsd.tmp#RichTextType SDCFormDesign_xsd.tmp#ActSendMessageType_messageType SDCFormDesign_xsd.tmp#ActSendMessageType_Email SDCFormDesign_xsd.tmp#ActSendMessageType_Fax SDCFormDesign_xsd.tmp#ActSendMessageType_WebService
Type extension of RichTextType
Type hierarchy
Used by
Model
Children Comment, Email, Extension, Fax, Property, RichText, WebService
Attributes
QName Type Use Annotation
messageType xs:string optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:string required
Source
<xs:complexType name="ActSendMessageType">
  <xs:annotation>
    <xs:documentation>Send a message to any endpoint. Messages may include alerts of various types. The default datatype for messages is string.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="RichTextType">
      <xs:choice>
        <xs:element name="Email" type="EmailAddressType" maxOccurs="unbounded"/>
        <xs:element name="Fax" type="PhoneNumberType" maxOccurs="unbounded"/>
        <xs:element name="WebService" type="CallFuncType" maxOccurs="unbounded"/>
      </xs:choice>
      <xs:attribute name="messageType" type="xs:string"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActSetAttrValueType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This type is used to act upon the value of common item properties.  If an "act" property (a property with the "act" prefix) has no value assigned, it is ignored. If it has a value, then that property on the target item(s) assume(s) that stated value when an attached Boolean condition evaluates to true.  The attached condition may be an "If" statement or any expression that evaluates to a Boolean value.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#ScriptCodeAnyType_language SDCExpressions_xsd.tmp#ScriptCodeAnyType_code SDCExpressions_xsd.tmp#ScriptCodeAnyType_Parameter SDCExpressions_xsd.tmp#ScriptCodeAnyType SDCFormDesign_xsd.tmp#ActSetAttrValueType_Target
Type extension of ScriptCodeAnyType
Type hierarchy
Used by
Model
Children Comment, Extension, Parameter, Property, Target
Attributes
QName Type Default Use Annotation
code xs:string optional
Script contents.
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
language xs:string optional
Programming language.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ActSetAttrValueType">
  <xs:annotation>
    <xs:documentation>This type is used to act upon the value of common item properties. If an "act" property (a property with the "act" prefix) has no value assigned, it is ignored. If it has a value, then that property on the target item(s) assume(s) that stated value when an attached Boolean condition evaluates to true. The attached condition may be an "If" statement or any expression that evaluates to a Boolean value.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ScriptCodeAnyType">
      <xs:sequence>
        <xs:element name="Target" type="ItemNameAttributeType"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActSetValueBoolType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Sets the value of any named attribute.  However, it is primarily designed for Response element(s) on a Question or ListItem.  The value may be determined by a literal value with a defined data type, the value at another named Response item, an expression written in a specified scripting or programming language, or the value of a named code listed in the same template.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCExpressions_xsd.tmp#ScriptCodeBoolType_language SDCExpressions_xsd.tmp#ScriptCodeBoolType_code SDCExpressions_xsd.tmp#ScriptCodeBoolType_Parameter SDCExpressions_xsd.tmp#ScriptCodeBoolType SDCFormDesign_xsd.tmp#ActSetValueBoolType_elementName SDCFormDesign_xsd.tmp#ActSetValueBoolType_attributeName SDCFormDesign_xsd.tmp#ActSetValueBoolType_X_targetNames
Type extension of ScriptCodeBoolType
Type hierarchy
Used by
Model
Children Comment, Extension, Parameter, Property
Attributes
QName Type Default Use Annotation
X_targetNames xs:NMTOKENS required
allowNull xs:boolean true optional
attributeName xs:NCName val optional
The name of any attribute on a named element.
code xs:string optional
Script contents.
elementName xs:NCName required
The @name attribute of the referenced element.
language xs:string optional
Programming language.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:complexType name="ActSetValueBoolType">
  <xs:annotation>
    <xs:documentation>Sets the value of any named attribute. However, it is primarily designed for Response element(s) on a Question or ListItem. The value may be determined by a literal value with a defined data type, the value at another named Response item, an expression written in a specified scripting or programming language, or the value of a named code listed in the same template.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ScriptCodeBoolType">
      <xs:attribute name="elementName" type="xs:NCName" use="required">
        <xs:annotation>
          <xs:documentation>The @name attribute of the referenced element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="attributeName" type="xs:NCName" default="val">
        <xs:annotation>
          <xs:documentation>The name of any attribute on a named element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="X_targetNames" type="xs:NMTOKENS" use="required"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActShowFormType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Show an external form to interact with the user.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActShowFormType_formID SDCFormDesign_xsd.tmp#ActShowFormType_packageID SDCFormDesign_xsd.tmp#ActShowFormType_displayState
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, Property
Attributes
QName Type Use Annotation
displayState xs:string optional
formID URI_Atype optional
This ID represents the form to be displayed.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
packageID URI_Atype required
This ID represents the Package that contains the form to be displayed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ActShowFormType">
  <xs:annotation>
    <xs:documentation>Show an external form to interact with the user.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:attribute name="formID" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>This ID represents the form to be displayed.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="packageID" type="URI_Atype" use="required">
        <xs:annotation>
          <xs:documentation>This ID represents the Package that contains the form to be displayed.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="displayState" type="xs:string"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActShowMessageType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Display a message to the form user, triggered by activity within the form.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActShowMessageType_alertLevel SDCFormDesign_xsd.tmp#ActShowMessageType_alertType SDCFormDesign_xsd.tmp#ActShowMessageType_messageType SDCFormDesign_xsd.tmp#ActShowMessageType_messageCode SDCFormDesign_xsd.tmp#ActShowMessageType_Message
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, Message, Property
Attributes
QName Type Use Annotation
alertLevel xs:string optional
alertType xs:string optional
messageCode xs:string optional
messageType xs:string optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ActShowMessageType">
  <xs:annotation>
    <xs:documentation>Display a message to the form user, triggered by activity within the form.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="Message" type="RichTextType">
        </xs:element>
      </xs:sequence>
      <xs:attribute name="alertLevel" type="xs:string"/>
      <xs:attribute name="alertType" type="xs:string"/>
      <xs:attribute name="messageType" type="xs:string"/>
      <xs:attribute name="messageCode" type="xs:string"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActShowReportType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Show a stored report.  The following parameters may be used:

reportID:  indicator of a report definition in SDC format.

packageID:  retrieve report as a package with ancillary information.

reportInstanceGUID:  retreive 1 or more report versions by using a report instance GUID.  This may be used in conjunctions with a packageID.

reportInstanceVersionGUID: retrieve a single version of a report representing the state of a report when it was saved.  This may be used in conjunctions with a packageID.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActShowReportType_reportID SDCFormDesign_xsd.tmp#ActShowReportType_packageID SDCFormDesign_xsd.tmp#ActShowReportType_reportInstanceGuid SDCFormDesign_xsd.tmp#ActShowReportType_reportInstanceVersonGuid SDCFormDesign_xsd.tmp#ActShowReportType_displayState
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, Property
Attributes
QName Type Use Annotation
displayState xs:string optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
packageID URI_Atype optional
This ID represents the Package that contains the report to be displayed.
reportID URI_Atype optional
This ID represents the report to be displayed.
reportInstanceGuid xs:string optional
reportInstanceVersonGuid xs:string optional
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ActShowReportType">
  <xs:annotation>
    <xs:documentation>Show a stored report. The following parameters may be used: reportID: indicator of a report definition in SDC format. packageID: retrieve report as a package with ancillary information. reportInstanceGUID: retreive 1 or more report versions by using a report instance GUID. This may be used in conjunctions with a packageID. reportInstanceVersionGUID: retrieve a single version of a report representing the state of a report when it was saved. This may be used in conjunctions with a packageID.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:attribute name="reportID" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>This ID represents the report to be displayed.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="packageID" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>This ID represents the Package that contains the report to be displayed.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="reportInstanceGuid" type="xs:string"/>
      <xs:attribute name="reportInstanceVersonGuid" type="xs:string"/>
      <xs:attribute name="displayState" type="xs:string"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActPreviewReportType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Show a report preview, based on data in the current form.  The following parameter may be used:

reportID:  points to a report definition in SDC format.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActPreviewReportType_reportID SDCFormDesign_xsd.tmp#ActPreviewReportType_displayState
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, Property
Attributes
QName Type Use Annotation
displayState xs:string optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
reportID URI_Atype optional
This ID represents the report to be displayed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ActPreviewReportType">
  <xs:annotation>
    <xs:documentation>Show a report preview, based on data in the current form. The following parameter may be used: reportID: points to a report definition in SDC format.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:attribute name="reportID" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>This ID represents the report to be displayed.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="displayState" type="xs:string"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ActValidateFormType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Test the data in the form for proper data types, rule integrity, and completeness of required questions.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ActValidateFormType_validateDataTypes SDCFormDesign_xsd.tmp#ActValidateFormType_validateRules SDCFormDesign_xsd.tmp#ActValidateFormType_validateCompleteness SDCFormDesign_xsd.tmp#ActValidateFormType_validationType SDCFormDesign_xsd.tmp#ActValidateFormType_ValidationWebService
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, Property, ValidationWebService
Attributes
QName Type Default Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
validateCompleteness xs:boolean false optional
validateDataTypes xs:boolean false optional
validateRules xs:boolean false optional
validationType xs:string optional
Source
<xs:complexType name="ActValidateFormType">
  <xs:annotation>
    <xs:documentation>Test the data in the form for proper data types, rule integrity, and completeness of required questions.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:sequence minOccurs="0">
        <xs:element minOccurs="0" name="ValidationWebService" type="CallFuncType"/>
      </xs:sequence>
      <xs:attribute default="false" name="validateDataTypes" type="xs:boolean"/>
      <xs:attribute default="false" name="validateRules" type="xs:boolean"/>
      <xs:attribute default="false" name="validateCompleteness" type="xs:boolean"/>
      <xs:attribute name="validationType" type="xs:string"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type OnEventType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Add a custom event handler to a form item such as a question, section or list item.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Conditions SDCFormDesign_xsd.tmp#ConditionalGroupActionType_Actions SDCFormDesign_xsd.tmp#ConditionalGroupActionType SDCFormDesign_xsd.tmp#EventType SDCFormDesign_xsd.tmp#OnEventType_eventName
Type extension of EventType
Type hierarchy
Used by
Model
Children Actions, Comment, Conditions, Extension, Property
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
eventName xs:string required
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:complexType name="OnEventType">
  <xs:annotation>
    <xs:documentation>Add a custom event handler to a form item such as a question, section or list item.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="EventType">
      <xs:attribute name="eventName" type="xs:string" use="required"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type GuardType
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#GuardType_AttributeCondition SDCFormDesign_xsd.tmp#GuardType_MultiSelections SDCFormDesign_xsd.tmp#GuardType_IllegalSelectionTest SDCFormDesign_xsd.tmp#GuardType_IllegalSelectionSets SDCFormDesign_xsd.tmp#GuardType_ItemAlternatives SDCFormDesign_xsd.tmp#GuardType_ScriptCondition SDCFormDesign_xsd.tmp#GuardType_CallBoolCondition SDCFormDesign_xsd.tmp#GuardType_Group
Type extension of FuncBoolBaseType
Type hierarchy
Used by
Model
Children AttributeCondition, CallBoolCondition, Comment, Extension, Group, IllegalSelectionSets, IllegalSelectionTest, ItemAlternatives, MultiSelections, Property, ScriptCondition
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:complexType name="GuardType">
  <xs:complexContent>
    <xs:extension base="FuncBoolBaseType">
      <xs:sequence>
        <xs:element name="AttributeCondition" maxOccurs="unbounded" minOccurs="0" type="GetItemAttribValuesType">
        </xs:element>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="MultiSelections" type="MultiSelectionSetBoolType"/>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="IllegalSelectionTest" type="RuleSelectionTestType">
          <xs:annotation>
            <xs:documentation/>
          </xs:annotation>
        </xs:element>
        <xs:element name="IllegalSelectionSets" maxOccurs="unbounded" minOccurs="0" type="RuleSingleSelectionSetsType">
        </xs:element>
        <xs:element name="ItemAlternatives" maxOccurs="unbounded" minOccurs="0" type="AlternativesType">
          <xs:annotation>
            <xs:documentation/>
          </xs:annotation>
        </xs:element>
        <xs:element name="ScriptCondition" maxOccurs="unbounded" minOccurs="0" type="ScriptCodeBoolType">
        </xs:element>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="CallBoolCondition" type="CallBoolFuncType"/>
        <xs:element name="Group" type="GuardType" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attributeGroup ref="BoolAttributes"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type MultiSelectionSetBoolType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This Rule component evaluates the @selected status of any set of ListItems at runtime, and returns a true or false value based on the @selected status of each ListItem.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#SelectionDependencyAttributes
Type extension of FuncBoolBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, Property
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
selectedItemSet xs:NMTOKENS required
This list contains names of ListItems (answer choices) that are watched for being selected or unselected.

If a ListItem appears in this list, then it evaluates to true when it is selected.  If a ListItem is prefixed with a hyphen (-), then it evaluates to true when unselected.  These Boolean values, derived from each named ListItem in the list, are ANDed together (by default) to produce a return value of true or false.  The default Boolean operator (AND) may be changed using @boolOp.  If @not = true, then the Boolean result is logically negated.

Renamed from: ListItemSelections
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:complexType name="MultiSelectionSetBoolType">
  <xs:annotation>
    <xs:documentation>This Rule component evaluates the @selected status of any set of ListItems at runtime, and returns a true or false value based on the @selected status of each ListItem.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="FuncBoolBaseType">
      <xs:attributeGroup ref="SelectionDependencyAttributes"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type RuleSelectionTestType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This Rule specifies a set of ListItems that cannot be selected (@listItemNames) when a test ListItem (@testItemName) is selected. 

If any selection occurs in @listItemNames when @testItemName is selected, the rule evaluate to true.  In all other cases, the rule evaluates to false.

Multiple selections in @listItemNames are acceptable as long as @testItemName is unselected, and in this case, the rule evaluates to false.

"Legal" (allowed) selections evaluate to false
"Illegal" selections evaluate to true
These values can be reversed if @not is set to true

Renamed from: IllegalSelectionTest
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType_listItemNames SDCDataTypes_xsd.tmp#not SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType SDCFormDesign_xsd.tmp#RuleSelectionTestType_testItemName
Type extension of RuleSingleSelectionSetsType
Type hierarchy
Used by
Model
Children Comment, Extension, Property
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
listItemNames xs:NMTOKENS required
Set of @name references for a set ListItems, delimited by spaces.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
testItemName xs:NMTOKEN required
The ListItem that is being evaluated for the presence of disallowed selections (in @listItemNames).  This attributes contains the @name of one ListItem.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:complexType name="RuleSelectionTestType">
  <xs:annotation>
    <xs:documentation>This Rule specifies a set of ListItems that cannot be selected (@listItemNames) when a test ListItem (@testItemName) is selected. If any selection occurs in @listItemNames when @testItemName is selected, the rule evaluate to true. In all other cases, the rule evaluates to false. Multiple selections in @listItemNames are acceptable as long as @testItemName is unselected, and in this case, the rule evaluates to false. "Legal" (allowed) selections evaluate to false "Illegal" selections evaluate to true These values can be reversed if @not is set to true Renamed from: IllegalSelectionTest</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="RuleSingleSelectionSetsType">
      <xs:attribute name="testItemName" type="xs:NMTOKEN" use="required">
        <xs:annotation>
          <xs:documentation>The ListItem that is being evaluated for the presence of disallowed selections (in @listItemNames). This attributes contains the @name of one ListItem.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type RuleSingleSelectionSetsType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This Rule restricts combinations of co-selected ListItems (answers).  In other words, only zero or one item in the @listItemNames list may be selected at a time.  

In most cases, all ListItems should be children of a single multi-select question. 

Legal ("allowed") selections evaluate to false
Illegal selections evaluate to true
These values can be reversed if @not is set to true

Renamed from: IllegalSelectionSets
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCFormDesign_xsd.tmp#RuleSingleSelectionSetsType_listItemNames SDCDataTypes_xsd.tmp#not
Type extension of FuncBoolBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, Property
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
listItemNames xs:NMTOKENS required
Set of @name references for a set ListItems, delimited by spaces.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:complexType name="RuleSingleSelectionSetsType">
  <xs:annotation>
    <xs:documentation>This Rule restricts combinations of co-selected ListItems (answers). In other words, only zero or one item in the @listItemNames list may be selected at a time. In most cases, all ListItems should be children of a single multi-select question. Legal ("allowed") selections evaluate to false Illegal selections evaluate to true These values can be reversed if @not is set to true Renamed from: IllegalSelectionSets</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="FuncBoolBaseType">
      <xs:attribute name="listItemNames" type="xs:NMTOKENS" use="required">
        <xs:annotation>
          <xs:documentation>Set of @name references for a set ListItems, delimited by spaces.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="false" ref="not">
        <xs:annotation>
          <xs:documentation>If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type AlternativesType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This Rule tests if one (or more) items in a list of items has received a a valid user response (answer).  

In the simplest case, this Rule allows a user to answer only one of several alternative questions (named in the @itemNames list), and still save a successfully-validated form.  In more complex cases, a user can be required to produce a valid response to a specific minimum and maximum number of Questions, Sections, ListItems or Injected parts.  

The minCard value on each of the alternative items should be set to "0" (i.e., optional) to avoid validation conflicts when minCard greater than 0.

The list of Item @name values is contained in @itemNames.  The list must contain at least 2 @name values. 
The minimum number of items to answer is contained in @minAnswered (default value = 1).  

If there is a maximum number of items to answer, the value is contained in @maxAnswered (default value = 0 meaning unlimited).
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FuncBoolBaseType_allowNull SDCExpressions_xsd.tmp#FuncBoolBaseType_validationMessage SDCExpressions_xsd.tmp#FuncBoolBaseType_val SDCExpressions_xsd.tmp#FuncBoolBaseType SDCDataTypes_xsd.tmp#not SDCFormDesign_xsd.tmp#AlternativesType_minAnswered SDCFormDesign_xsd.tmp#AlternativesType_maxAnswered SDCFormDesign_xsd.tmp#AlternativesType_itemNames
Type extension of FuncBoolBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, Property
Attributes
QName Type Default Use Annotation
allowNull xs:boolean true optional
itemNames xs:NMTOKENS optional
List of names of Sections, Questions, ListItems and/or InjectedItems.  Each of the named items will evaluate to true or false, based on the following validation rules:

If the name points to a Section, then the Section evaluates to true (valid) if all of its descendant items are answered correctly, according to their metadata.

If the name points to a Question then the Question evaluates to true (valid) if it is correctly answered according to its metadata, and also, all descendant items are answered correctly, according to their metadata.

If the name points to a ListItem then the ListItem evaluates to true (valid) if it is selected, and also, all descendant items are answered correctly according to their metadata.

If the name points to an InjectedItem then the InjectedItem evaluates to true (valid) if all descendant items are answered correctly, according to their metadata.

The number of true responses are added together.  If they satisfy the minAnswered and maxAnswered attribute values, then this type returns true.  Otherwise it returns false.
maxAnswered xs:int 0 optional
@maxAnswered must be 0 or greater than or equal to @minAnswered.
minAnswered xs:int 1 optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean false optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
val xs:boolean optional
validationMessage xs:string optional
Optional message that appears when the rule evaluates to true
Source
<xs:complexType name="AlternativesType">
  <xs:annotation>
    <xs:documentation>This Rule tests if one (or more) items in a list of items has received a a valid user response (answer). In the simplest case, this Rule allows a user to answer only one of several alternative questions (named in the @itemNames list), and still save a successfully-validated form. In more complex cases, a user can be required to produce a valid response to a specific minimum and maximum number of Questions, Sections, ListItems or Injected parts. The minCard value on each of the alternative items should be set to "0" (i.e., optional) to avoid validation conflicts when minCard greater than 0. The list of Item @name values is contained in @itemNames. The list must contain at least 2 @name values. The minimum number of items to answer is contained in @minAnswered (default value = 1). If there is a maximum number of items to answer, the value is contained in @maxAnswered (default value = 0 meaning unlimited).</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="FuncBoolBaseType">
      <xs:attribute default="false" ref="not">
        <xs:annotation>
          <xs:documentation>If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="1" name="minAnswered" type="xs:int" use="optional"/>
      <xs:attribute default="0" name="maxAnswered" type="xs:int">
        <xs:annotation>
          <xs:documentation>@maxAnswered must be 0 or greater than or equal to @minAnswered.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="itemNames" type="xs:NMTOKENS">
        <xs:annotation>
          <xs:documentation>List of names of Sections, Questions, ListItems and/or InjectedItems. Each of the named items will evaluate to true or false, based on the following validation rules: If the name points to a Section, then the Section evaluates to true (valid) if all of its descendant items are answered correctly, according to their metadata. If the name points to a Question then the Question evaluates to true (valid) if it is correctly answered according to its metadata, and also, all descendant items are answered correctly, according to their metadata. If the name points to a ListItem then the ListItem evaluates to true (valid) if it is selected, and also, all descendant items are answered correctly according to their metadata. If the name points to an InjectedItem then the InjectedItem evaluates to true (valid) if all descendant items are answered correctly, according to their metadata. The number of true responses are added together. If they satisfy the minAnswered and maxAnswered attribute values, then this type returns true. Otherwise it returns false.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ChildItemsType
Namespace urn:ihe:qrph:sdc:2016
Annotations
ChildItems have descendants that are of type DisplayedType.  They may include primary items of type SectionType, QuestionType, InjectFormType, DisplayedType and ButtonType, in any order.  The ChildItem separates new child primary items from elements and attributes that are sub-parts of the parent primary item.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ChildElementsGroup_Section SDCFormDesign_xsd.tmp#ChildElementsGroup_Question SDCFormDesign_xsd.tmp#ChildElementsGroup_DisplayedItem SDCFormDesign_xsd.tmp#ChildElementsGroup_ButtonAction SDCFormDesign_xsd.tmp#ChildElementsGroup_InjectForm SDCFormDesign_xsd.tmp#ChildElementsGroup
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children ButtonAction, Comment, DisplayedItem, Extension, InjectForm, Property, Question, Section
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ChildItemsType">
  <xs:annotation>
    <xs:documentation>ChildItems have descendants that are of type DisplayedType. They may include primary items of type SectionType, QuestionType, InjectFormType, DisplayedType and ButtonType, in any order. The ChildItem separates new child primary items from elements and attributes that are sub-parts of the parent primary item.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:group maxOccurs="unbounded" ref="ChildElementsGroup"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type QuestionItemType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Represents questions.  Parent items may be Section, Question, and ListItem.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#RepeatingType_minCard SDCFormDesign_xsd.tmp#RepeatingType_maxCard SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#RepeatingType SDCFormDesign_xsd.tmp#QuestionItemBaseType_readOnly SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#QuestionItemBaseType_ResponseField SDCFormDesign_xsd.tmp#QuestionItemBaseType_ListField SDCFormDesign_xsd.tmp#QuestionItemBaseType SDCFormDesign_xsd.tmp#QuestionItemType_ChildItems
Type extension of QuestionItemBaseType
Type hierarchy
Used by
Model
Children ActivateIf, BlobContent, ChildItems, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, ListField, OnEnter, OnEvent, OnExit, Property, ResponseField
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
maxCard xs:unsignedShort 1 optional
@maxCard is the maximum number of repetitions allowed for a section or question.  The default value is 1, indicating that the section or question cannot be repeated on the data entry form.  A value of 0 indicates that the number of repeats is unlimited.  If @maxCard is not 0, then Must be greater than or equal to minCard.
minCard xs:unsignedShort 1 optional
@minCard is the minimum number of repetitions allowed for a section or question.  The default value is 1, indicating that the user must answer any question(s) that has this attribute set.  If @minCard is set to 0, then the item and all descendent questions are optional to answer.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
readOnly xs:boolean false optional
If @readOnly is set to true, the this field may not be edited by the user, and any default values set by template should be considered part of the stored data set responses, and transmitted by the SubmitForm transaction.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:complexType name="QuestionItemType">
  <xs:annotation>
    <xs:documentation>Represents questions. Parent items may be Section, Question, and ListItem.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="QuestionItemBaseType">
      <xs:choice minOccurs="0">
        <xs:element name="ChildItems" type="ChildItemsType" minOccurs="0"/>
      </xs:choice>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type QuestionItemBaseType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Represents questions.  Parent items may be Section, Question, and ListItem.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#RepeatingType_minCard SDCFormDesign_xsd.tmp#RepeatingType_maxCard SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#RepeatingType SDCFormDesign_xsd.tmp#QuestionItemBaseType_readOnly SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#QuestionItemBaseType_ResponseField SDCFormDesign_xsd.tmp#QuestionItemBaseType_ListField
Type extension of RepeatingType
Type hierarchy
Properties
abstract true
Used by
Complex Type QuestionItemType
Model
Children ActivateIf, BlobContent, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, ListField, OnEnter, OnEvent, OnExit, Property, ResponseField
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
maxCard xs:unsignedShort 1 optional
@maxCard is the maximum number of repetitions allowed for a section or question.  The default value is 1, indicating that the section or question cannot be repeated on the data entry form.  A value of 0 indicates that the number of repeats is unlimited.  If @maxCard is not 0, then Must be greater than or equal to minCard.
minCard xs:unsignedShort 1 optional
@minCard is the minimum number of repetitions allowed for a section or question.  The default value is 1, indicating that the user must answer any question(s) that has this attribute set.  If @minCard is set to 0, then the item and all descendent questions are optional to answer.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
readOnly xs:boolean false optional
If @readOnly is set to true, the this field may not be edited by the user, and any default values set by template should be considered part of the stored data set responses, and transmitted by the SubmitForm transaction.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:complexType name="QuestionItemBaseType" abstract="true">
  <xs:annotation>
    <xs:documentation>Represents questions. Parent items may be Section, Question, and ListItem.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="RepeatingType">
      <xs:choice maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Choice (ResponseField, ListField)</xs:documentation>
        </xs:annotation>
        <xs:element name="ResponseField" type="ResponseFieldType" minOccurs="1" maxOccurs="1"/>
        <xs:element name="ListField" minOccurs="1" maxOccurs="1" type="ListFieldType">
        </xs:element>
      </xs:choice>
      <xs:attribute default="false" name="readOnly" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>If @readOnly is set to true, the this field may not be edited by the user, and any default values set by template should be considered part of the stored data set responses, and transmitted by the SubmitForm transaction.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attributeGroup ref="ResponseAttributes"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ResponseFieldType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This type is a template for a data entry field that accepts entries (responses or answers) of any data type, including text, numbers, dates, and Base 64 - encoded blobs (images, sounds, video, other binary formats, etc.).  This type cannot contain ListItems, but it may be a child of a Question or a ListItem.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ResponseFieldType_Response SDCFormDesign_xsd.tmp#ResponseFieldType_CallSetValue SDCFormDesign_xsd.tmp#ResponseFieldType_SetValue SDCFormDesign_xsd.tmp#ResponseFieldType_TextAfterResponse SDCFormDesign_xsd.tmp#ResponseFieldType_ResponseUnits SDCFormDesign_xsd.tmp#ResponseFieldType_AfterChange SDCFormDesign_xsd.tmp#ResponseFieldType_OnEvent
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children AfterChange, CallSetValue, Comment, Extension, OnEvent, Property, Response, ResponseUnits, SetValue, TextAfterResponse
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ResponseFieldType">
  <xs:annotation>
    <xs:documentation>This type is a template for a data entry field that accepts entries (responses or answers) of any data type, including text, numbers, dates, and Base 64 - encoded blobs (images, sounds, video, other binary formats, etc.). This type cannot contain ListItems, but it may be a child of a Question or a ListItem.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:sequence>
        <xs:sequence>
          <xs:element name="Response" type="DataTypes_DEType" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>W3C Schema data type details</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0">
            <xs:element name="CallSetValue" type="CallFuncType">
              <xs:annotation>
                <xs:documentation>NEW</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="SetValue" type="ScriptCodeAnyType">
              <xs:annotation>
                <xs:documentation>NEW</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:choice>
        </xs:sequence>
        <xs:element name="TextAfterResponse" type="RichTextType" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>TextAfterResponse is fixed text that appears after (to the right of) the user's response on the data entry form. This may be text for units such as "mm", "cm", etc.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ResponseUnits" minOccurs="0" maxOccurs="1" type="UnitsType">
          <xs:annotation>
            <xs:documentation/>
          </xs:annotation>
        </xs:element>
        <xs:element maxOccurs="unbounded" name="AfterChange" type="EventType" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Event that occurs after the Response value is changed, usually fired after a user leaves the Response field.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="OnEvent" type="OnEventType"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ListFieldType
Namespace urn:ihe:qrph:sdc:2016
Annotations
ListField is a grouper for list-like answer choices, which may be derived from either a set of answer choice lists (a List composed of ListItems) or or a list obtained from a LookupEndpoint URI.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ListFieldType_colTextDelimiter SDCFormDesign_xsd.tmp#ListFieldType_numCols SDCFormDesign_xsd.tmp#ListFieldType_storedCol SDCFormDesign_xsd.tmp#ListFieldType_minSelections SDCFormDesign_xsd.tmp#ListFieldType_maxSelections SDCFormDesign_xsd.tmp#ListFieldType_ordered SDCFormDesign_xsd.tmp#ListFieldType_defaultListItemDataType SDCFormDesign_xsd.tmp#ListFieldType_ListHeaderText SDCFormDesign_xsd.tmp#ListFieldType_DefaultCodeSystem SDCFormDesign_xsd.tmp#ListFieldType_List SDCFormDesign_xsd.tmp#ListFieldType_LookupEndPoint SDCFormDesign_xsd.tmp#ListFieldType_IllegalListItemPairings SDCFormDesign_xsd.tmp#ListFieldType_IllegalCoSelectedListItems SDCFormDesign_xsd.tmp#ListFieldType_AfterChange SDCFormDesign_xsd.tmp#ListFieldType_OnEvent
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children AfterChange, Comment, DefaultCodeSystem, Extension, IllegalCoSelectedListItems, IllegalListItemPairings, List, ListHeaderText, LookupEndPoint, OnEvent, Property
Attributes
QName Type Default Use Annotation
colTextDelimiter restriction of xs:string | optional
Character in the DisplayText that separates the columns and rows in a single or multi-column list.
defaultListItemDataType DataTypeAll_StypeEnum optional
Data type enumeration derived from W3C XML Schema.  This element is used only if the ListItems are all associated with coded values from a single coding system.
maxSelections xs:unsignedShort 1 optional
Maximum number of answer choices (list items) that can be selected by the user.  Must be greater than or equal to minSelections, and no larger than the total number of list items.  

A value of 0 indicates no limit to the number of selected list items (answers).  This effectively means that the question is multi-select. (Abbreviated as QM)

A value of 1 (the default) indicates that the question list is single-select.  (Abbreviated as QS)
minSelections restriction of xs:unsignedShort 1 optional
Minimum number of answer choices (list items) that must be selected by the user.  Default value is 1.

NEW: changed minimum value to 1.
Removed: If set to 0, then this question need not be answered by the user.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
numCols xs:unsignedByte 1 optional
Number of columns in the list
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
ordered xs:boolean true optional
If false, then the form implementation may change the order of items in the list.
storedCol xs:unsignedByte 1 optional
Determines which column of the list is stored in a database.  This list is one-based.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ListFieldType">
  <xs:annotation>
    <xs:documentation>ListField is a grouper for list-like answer choices, which may be derived from either a set of answer choice lists (a List composed of ListItems) or or a list obtained from a LookupEndpoint URI.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:sequence>
        <xs:element minOccurs="0" name="ListHeaderText" type="RichTextType">
          <xs:annotation>
            <xs:documentation>The header row for a set of list items. If the list has more than one column, the column text is separated by the colTextDelimiter.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element maxOccurs="1" minOccurs="0" name="DefaultCodeSystem" type="CodeSystemType">
          <xs:annotation>
            <xs:documentation>If coded values are used for items in a List (including ListItem and LookupEndPoint lists), then the default coding system should be specified here. For ListItem nodes, any exceptions to the coding system may be specified on the individual ListItem nodes. For LookupEndPoints, the endpoint data can optionally specify any exceptions in a dedicated CodeSystem column in the returned list data.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:choice>
          <xs:element name="List" type="ListType">
            <xs:annotation>
              <xs:documentation>List refers to a set of possible answer choices for the user to select. Child DisplayedItems may be interspersed with Child ListItems. At least one ListItem must be present for a multi-select question, and at least two ListItems must pre present for single-select questions.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="LookupEndPoint" minOccurs="1" maxOccurs="1" type="LookupEndPointType">
            <xs:annotation>
              <xs:documentation>LookupEndPoint is used when the list items are derived from a web service call of some type, instead of an explicit set of ListItem nodes specified in the FormDesign XML. The endpoint must return a list separated into individual list items by the @colTextDelimiter value specified in the parent ListFieldType.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:choice>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="IllegalListItemPairings" type="RuleSelectionTestType"/>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="IllegalCoSelectedListItems" type="RuleSingleSelectionSetsType"/>
        <xs:element minOccurs="0" name="AfterChange" maxOccurs="unbounded" type="EventType">
          <xs:annotation>
            <xs:documentation>Event that occurs after List Field selections are changed.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="OnEvent" type="OnEventType"/>
      </xs:sequence>
      <xs:attribute default="|" name="colTextDelimiter">
        <xs:annotation>
          <xs:documentation>Character in the DisplayText that separates the columns and rows in a single or multi-column list.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute default="1" name="numCols" type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>Number of columns in the list</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="1" name="storedCol" type="xs:unsignedByte">
        <xs:annotation>
          <xs:documentation>Determines which column of the list is stored in a database. This list is one-based.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="1" name="minSelections">
        <xs:annotation>
          <xs:documentation>Minimum number of answer choices (list items) that must be selected by the user. Default value is 1. NEW: changed minimum value to 1. Removed: If set to 0, then this question need not be answered by the user.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute default="1" name="maxSelections" type="xs:unsignedShort">
        <xs:annotation>
          <xs:documentation>Maximum number of answer choices (list items) that can be selected by the user. Must be greater than or equal to minSelections, and no larger than the total number of list items. A value of 0 indicates no limit to the number of selected list items (answers). This effectively means that the question is multi-select. (Abbreviated as QM) A value of 1 (the default) indicates that the question list is single-select. (Abbreviated as QS)</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="true" name="ordered" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>If false, then the form implementation may change the order of items in the list.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="defaultListItemDataType" type="DataTypeAll_StypeEnum">
        <xs:annotation>
          <xs:documentation>Data type enumeration derived from W3C XML Schema. This element is used only if the ListItems are all associated with coded values from a single coding system.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ListType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This type represents a list of specified answer choices. 
CHANGED 9/20/2016:  Fix for serialization error which aggregated all DisplayedItems at the top of the ListItems.

A Schematron (or similar validation tool) will be required to ensure that at least 2 ListItems are present for single-select questions, and one ListItem for multi-select questions.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ListType_DisplayedItem SDCFormDesign_xsd.tmp#ListType_ListItem
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Comment, DisplayedItem, Extension, ListItem, Property
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ListType">
  <xs:annotation>
    <xs:documentation>This type represents a list of specified answer choices. CHANGED 9/20/2016: Fix for serialization error which aggregated all DisplayedItems at the top of the ListItems. A Schematron (or similar validation tool) will be required to ensure that at least 2 ListItems are present for single-select questions, and one ListItem for multi-select questions.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:choice maxOccurs="unbounded">
        <xs:element minOccurs="0" name="DisplayedItem" type="DisplayedType"/>
        <xs:element name="ListItem" type="ListItemType" minOccurs="1" maxOccurs="1"/>
      </xs:choice>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ListItemType
Namespace urn:ihe:qrph:sdc:2016
Annotations
ListItem elements represent answer choices that may appear under a Question.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#ListItemBaseType_selected SDCFormDesign_xsd.tmp#ListItemBaseType_selectionDisablesChildren SDCFormDesign_xsd.tmp#ListItemBaseType_selectionActivatesItems SDCFormDesign_xsd.tmp#ListItemBaseType_selectionSelectsListItems SDCFormDesign_xsd.tmp#ListItemBaseType_selectionDeselectsSiblings SDCFormDesign_xsd.tmp#ListItemBaseType_omitWhenSelected SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#ListItemBaseType_associatedValue SDCFormDesign_xsd.tmp#ListItemBaseType_associatedValueType SDCFormDesign_xsd.tmp#ListItemBaseType_ListItemResponseField SDCFormDesign_xsd.tmp#ListItemBaseType_OnSelect SDCFormDesign_xsd.tmp#ListItemBaseType_OnDeselect SDCFormDesign_xsd.tmp#ListItemBaseType_SelectIf SDCFormDesign_xsd.tmp#ListItemBaseType_DeselectIf SDCFormDesign_xsd.tmp#ListItemBaseType SDCFormDesign_xsd.tmp#ListItemType_ChildItems
Type extension of ListItemBaseType
Type hierarchy
Used by
Model
Children ActivateIf, BlobContent, ChildItems, CodedValue, Comment, Contact, DeActivateIf, DeselectIf, Extension, Link, ListItemResponseField, OnDeselect, OnEnter, OnEvent, OnExit, OnSelect, Property, SelectIf
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
associatedValue xs:string optional
A typed value (e.g., an integer) that is uniquely associated with a ListItem.  An example is the integer 10 for a ListItem with title that reads "10 o'clock".  Typically these values are set to be used in calculations or other algorithms.  In general, they can be treated something like a user-entered response on a the ListItemResponseField of a selected ListItem.

This field should not be used for terminologies or local codes.  The CodedValue type should be used for these kinds of metadata.  This field should also not be used other properties such as translations, usage, etc.

The data type shoudl be specified in @AssociatedValueType
associatedValueType DataTypeAll_StypeEnum optional
The data type of @AssociatedValue.  Default is string.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
omitWhenSelected xs:boolean false optional
NEW: 

If @omitWhenSelected is set to true, then the question and its response(s) should not be present in a typical  report derived from this template.  This attribute is usually set to true when the answer choice is used to control form behavior (e.g., skip logic), or when the question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed or could not be assessed.  If @omitWhenSelectedset is false (default) then the question and its response(s) should appear in the report.  Added 11/29/15 to replace @reportAction
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
selected xs:boolean false optional
Represents the default value of the ListItem in the FormDesign template, or the user's response in selecting one or more ListItems.  If @multiSelect='false' on ListField then only one item may be selected.
selectionActivatesItems xs:NMTOKENS optional
NEW
Selecting the current ListItem will enable the named items in this attribute's content.

Prefixing any named with a hyphen (-) will reverse the above behaviour (i.e., the named items will be disabled).

Unselecting the ListItem will reverse this behaviour.
Prefixing the name with a tilde (~) will supress this reversal behavior.
selectionDeselectsSiblings xs:boolean false optional
If the ancestor ListField has @multiselect = 'true', then selecting this ListItem should de-select all other ListItem (sibling) nodes except the current one.
selectionDisablesChildren xs:boolean false optional
If set to true, then selecting this ListItem must deactivate all descendant parts of the form, and ignore any user-entered values in the deactivated part.  Deselecting the ListItem should reactivate the descendant items in their state at the time the items were deactivated.

If items are disabled, then any data stored in the disabled questions should be removed.
selectionSelectsListItems xs:NMTOKENS optional
NEW
Selecting the current ListItem will select the named ListItems in this attribute's content.

Prefixing any named with a hyphen (-) will reverse the above behaviour.

Unselecting the ListItem will reverse this behaviour.
Prefixing the name with a tilde (~) will suppress this reversal behavior.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:complexType name="ListItemType">
  <xs:annotation>
    <xs:documentation>ListItem elements represent answer choices that may appear under a Question.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ListItemBaseType">
      <xs:choice minOccurs="0">
        <xs:element name="ChildItems" type="ChildItemsType" minOccurs="0"/>
      </xs:choice>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ListItemBaseType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This base element is the foundation for ListItems, but does not include the MainItems sub-group under each ListItem.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#ListItemBaseType_selected SDCFormDesign_xsd.tmp#ListItemBaseType_selectionDisablesChildren SDCFormDesign_xsd.tmp#ListItemBaseType_selectionActivatesItems SDCFormDesign_xsd.tmp#ListItemBaseType_selectionSelectsListItems SDCFormDesign_xsd.tmp#ListItemBaseType_selectionDeselectsSiblings SDCFormDesign_xsd.tmp#ListItemBaseType_omitWhenSelected SDCFormDesign_xsd.tmp#ResponseReportingAttributes SDCFormDesign_xsd.tmp#ListItemBaseType_associatedValue SDCFormDesign_xsd.tmp#ListItemBaseType_associatedValueType SDCFormDesign_xsd.tmp#ListItemBaseType_ListItemResponseField SDCFormDesign_xsd.tmp#ListItemBaseType_OnSelect SDCFormDesign_xsd.tmp#ListItemBaseType_OnDeselect SDCFormDesign_xsd.tmp#ListItemBaseType_SelectIf SDCFormDesign_xsd.tmp#ListItemBaseType_DeselectIf
Type extension of DisplayedType
Type hierarchy
Properties
abstract true
Used by
Complex Type ListItemType
Model
Children ActivateIf, BlobContent, CodedValue, Comment, Contact, DeActivateIf, DeselectIf, Extension, Link, ListItemResponseField, OnDeselect, OnEnter, OnEvent, OnExit, OnSelect, Property, SelectIf
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
associatedValue xs:string optional
A typed value (e.g., an integer) that is uniquely associated with a ListItem.  An example is the integer 10 for a ListItem with title that reads "10 o'clock".  Typically these values are set to be used in calculations or other algorithms.  In general, they can be treated something like a user-entered response on a the ListItemResponseField of a selected ListItem.

This field should not be used for terminologies or local codes.  The CodedValue type should be used for these kinds of metadata.  This field should also not be used other properties such as translations, usage, etc.

The data type shoudl be specified in @AssociatedValueType
associatedValueType DataTypeAll_StypeEnum optional
The data type of @AssociatedValue.  Default is string.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
omitWhenSelected xs:boolean false optional
NEW: 

If @omitWhenSelected is set to true, then the question and its response(s) should not be present in a typical  report derived from this template.  This attribute is usually set to true when the answer choice is used to control form behavior (e.g., skip logic), or when the question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed or could not be assessed.  If @omitWhenSelectedset is false (default) then the question and its response(s) should appear in the report.  Added 11/29/15 to replace @reportAction
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
selected xs:boolean false optional
Represents the default value of the ListItem in the FormDesign template, or the user's response in selecting one or more ListItems.  If @multiSelect='false' on ListField then only one item may be selected.
selectionActivatesItems xs:NMTOKENS optional
NEW
Selecting the current ListItem will enable the named items in this attribute's content.

Prefixing any named with a hyphen (-) will reverse the above behaviour (i.e., the named items will be disabled).

Unselecting the ListItem will reverse this behaviour.
Prefixing the name with a tilde (~) will supress this reversal behavior.
selectionDeselectsSiblings xs:boolean false optional
If the ancestor ListField has @multiselect = 'true', then selecting this ListItem should de-select all other ListItem (sibling) nodes except the current one.
selectionDisablesChildren xs:boolean false optional
If set to true, then selecting this ListItem must deactivate all descendant parts of the form, and ignore any user-entered values in the deactivated part.  Deselecting the ListItem should reactivate the descendant items in their state at the time the items were deactivated.

If items are disabled, then any data stored in the disabled questions should be removed.
selectionSelectsListItems xs:NMTOKENS optional
NEW
Selecting the current ListItem will select the named ListItems in this attribute's content.

Prefixing any named with a hyphen (-) will reverse the above behaviour.

Unselecting the ListItem will reverse this behaviour.
Prefixing the name with a tilde (~) will suppress this reversal behavior.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:complexType name="ListItemBaseType" block="" abstract="true">
  <xs:annotation>
    <xs:documentation>This base element is the foundation for ListItems, but does not include the MainItems sub-group under each ListItem.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="DisplayedType">
      <xs:sequence>
        <xs:element name="ListItemResponseField" minOccurs="0" maxOccurs="1" type="ListItemResponseFieldType">
          <xs:annotation>
            <xs:documentation>A place to enter values (of any data type) that are directly associated with, and attached to, a selected answer choice.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="OnSelect" maxOccurs="unbounded" minOccurs="0" type="EventType">
        </xs:element>
        <xs:element name="OnDeselect" maxOccurs="unbounded" minOccurs="0" type="EventType">
        </xs:element>
        <xs:element name="SelectIf" minOccurs="0" type="GuardType">
        </xs:element>
        <xs:element name="DeselectIf" minOccurs="0" type="GuardType">
        </xs:element>
      </xs:sequence>
      <xs:attribute default="false" name="selected" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>Represents the default value of the ListItem in the FormDesign template, or the user's response in selecting one or more ListItems. If @multiSelect='false' on ListField then only one item may be selected.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="false" name="selectionDisablesChildren" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>If set to true, then selecting this ListItem must deactivate all descendant parts of the form, and ignore any user-entered values in the deactivated part. Deselecting the ListItem should reactivate the descendant items in their state at the time the items were deactivated. If items are disabled, then any data stored in the disabled questions should be removed.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="selectionActivatesItems" type="xs:NMTOKENS">
        <xs:annotation>
          <xs:documentation>NEW Selecting the current ListItem will enable the named items in this attribute's content. Prefixing any named with a hyphen (-) will reverse the above behaviour (i.e., the named items will be disabled). Unselecting the ListItem will reverse this behaviour. Prefixing the name with a tilde (~) will supress this reversal behavior.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="selectionSelectsListItems" type="xs:NMTOKENS">
        <xs:annotation>
          <xs:documentation>NEW Selecting the current ListItem will select the named ListItems in this attribute's content. Prefixing any named with a hyphen (-) will reverse the above behaviour. Unselecting the ListItem will reverse this behaviour. Prefixing the name with a tilde (~) will suppress this reversal behavior.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="false" name="selectionDeselectsSiblings" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>If the ancestor ListField has @multiselect = 'true', then selecting this ListItem should de-select all other ListItem (sibling) nodes except the current one.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="false" name="omitWhenSelected" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>NEW: If @omitWhenSelected is set to true, then the question and its response(s) should not be present in a typical report derived from this template. This attribute is usually set to true when the answer choice is used to control form behavior (e.g., skip logic), or when the question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed or could not be assessed. If @omitWhenSelectedset is false (default) then the question and its response(s) should appear in the report. Added 11/29/15 to replace @reportAction</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attributeGroup ref="ResponseReportingAttributes"/>
      <xs:attribute name="associatedValue" type="xs:string">
        <xs:annotation>
          <xs:documentation>A typed value (e.g., an integer) that is uniquely associated with a ListItem. An example is the integer 10 for a ListItem with title that reads "10 o'clock". Typically these values are set to be used in calculations or other algorithms. In general, they can be treated something like a user-entered response on a the ListItemResponseField of a selected ListItem. This field should not be used for terminologies or local codes. The CodedValue type should be used for these kinds of metadata. This field should also not be used other properties such as translations, usage, etc. The data type shoudl be specified in @AssociatedValueType</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="associatedValueType" type="DataTypeAll_StypeEnum">
        <xs:annotation>
          <xs:documentation>The data type of @AssociatedValue. Default is string.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ListItemResponseFieldType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This type represents a place to store a fill-in response associated directly with a selected ListItem.  The response may be optional or required.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#ResponseFieldType_Response SDCFormDesign_xsd.tmp#ResponseFieldType_CallSetValue SDCFormDesign_xsd.tmp#ResponseFieldType_SetValue SDCFormDesign_xsd.tmp#ResponseFieldType_TextAfterResponse SDCFormDesign_xsd.tmp#ResponseFieldType_ResponseUnits SDCFormDesign_xsd.tmp#ResponseFieldType_AfterChange SDCFormDesign_xsd.tmp#ResponseFieldType_OnEvent SDCFormDesign_xsd.tmp#ResponseFieldType SDCFormDesign_xsd.tmp#ListItemResponseFieldType_responseRequired
Type extension of ResponseFieldType
Type hierarchy
Used by
Model
Children AfterChange, CallSetValue, Comment, Extension, OnEvent, Property, Response, ResponseUnits, SetValue, TextAfterResponse
Attributes
QName Type Default Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
responseRequired xs:boolean false optional
If @responseRequired is set to true, then the appropriate text or Blob must be entered in the data-entry field associated with this list item.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="ListItemResponseFieldType">
  <xs:annotation>
    <xs:documentation>This type represents a place to store a fill-in response associated directly with a selected ListItem. The response may be optional or required.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ResponseFieldType">
      <xs:attribute name="responseRequired" type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation>If @responseRequired is set to true, then the appropriate text or Blob must be entered in the data-entry field associated with this list item.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type LookupEndPointType
Namespace urn:ihe:qrph:sdc:2016
Annotations
LookupEndPointType represents list items that are derived from a web service call of some type, instead of an explicit set of ListItem nodes specified in the FormDesign XML. The endpoint must return a list separated into individual list items by the @colTextDelimiter value specified in the parent ListFieldType.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCExpressions_xsd.tmp#FunctionReturnType SDCExpressions_xsd.tmp#CallFuncType_Function SDCExpressions_xsd.tmp#CallFuncType_Security SDCExpressions_xsd.tmp#ParameterGroup_ParameterRef SDCExpressions_xsd.tmp#ParameterGroup_ParameterValue SDCExpressions_xsd.tmp#ParameterGroup SDCExpressions_xsd.tmp#CallFuncType SDCFormDesign_xsd.tmp#LookupEndPointType_includesHeaderRow SDCFormDesign_xsd.tmp#LookupEndPointType_ResponseValue
Type extension of CallFuncType
Type hierarchy
Used by
Model
Children Comment, Extension, Function, ParameterRef, ParameterValue, Property, ResponseValue, Security
Attributes
QName Type Default Use Annotation
dataTypeListAll list of DataTypeAll_StypeEnum optional
Defines the data type held by a string value.

Also defines the dataType for list items in a list, which uses the generic string type, since string can represent any XML data type.  List items of any data type should be validated by the implementation software, since all data types are written into an XML list of type string.

For typed items included by reference to an external (reference or variable) value, use short name strings preceded by "$".
includesHeaderRow xs:boolean false optional
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
objectFormat xs:string optional
The serialization format of the returned data, e.g., XML, JSON, binary, etc., or a more specific type.
objectTypeName xs:string optional
If the function returns a custom object, even if serialized e.g., as XML of JSON, provide the object type name here.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
returnList xs:boolean false optional
True if the return type is a kind of list.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="LookupEndPointType">
  <xs:annotation>
    <xs:documentation>LookupEndPointType represents list items that are derived from a web service call of some type, instead of an explicit set of ListItem nodes specified in the FormDesign XML. The endpoint must return a list separated into individual list items by the @colTextDelimiter value specified in the parent ListFieldType.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="CallFuncType">
      <xs:sequence maxOccurs="1">
        <xs:element maxOccurs="unbounded" minOccurs="0" name="ResponseValue" type="CodingType">
          <xs:annotation>
            <xs:documentation>The user's response to the lookup list. The response is recorded as a coding, terminology, classification, keyword, or local value. Multiple selections from the lookup list may be allowed.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="includesHeaderRow" type="xs:boolean" default="false"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type ButtonItemType
Namespace urn:ihe:qrph:sdc:2016
Annotations
The ButtonAction type represents a visual area for a user to click, and the click triggers a piece of "Action" code to run inside the form. The ButtonAction object may be represented with a visible button object, or some other type of visual paradigm.  Other types of actions (e.g. key presses in a text field) may be handled with the form framework's event model.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DisplayedType_title SDCFormDesign_xsd.tmp#DisplayedType_enabled SDCFormDesign_xsd.tmp#DisplayedType_visible SDCFormDesign_xsd.tmp#DisplayedType_mustImplement SDCFormDesign_xsd.tmp#DisplayedType_showInReport SDCFormDesign_xsd.tmp#DisplayedType_Link SDCFormDesign_xsd.tmp#DisplayedType_BlobContent SDCFormDesign_xsd.tmp#DisplayedType_Contact SDCFormDesign_xsd.tmp#DisplayedType_CodedValue SDCFormDesign_xsd.tmp#DisplayedType_OnEnter SDCFormDesign_xsd.tmp#DisplayedType_OnExit SDCFormDesign_xsd.tmp#DisplayedType_OnEvent SDCFormDesign_xsd.tmp#DisplayedType_ActivateIf SDCFormDesign_xsd.tmp#DisplayedType_DeActivateIf SDCFormDesign_xsd.tmp#DisplayedType SDCFormDesign_xsd.tmp#ButtonItemType_OnClick
Type extension of DisplayedType
Type hierarchy
Used by
Model
Children ActivateIf, BlobContent, CodedValue, Comment, Contact, DeActivateIf, Extension, Link, OnClick, OnEnter, OnEvent, OnExit, Property
Attributes
QName Type Default Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
enabled xs:boolean true optional
Determines whether the user can interact with the displayed item when the form is first displayed.
mustImplement xs:boolean true optional
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
showInReport restriction of xs:string True optional
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
visible xs:boolean true optional
Determines whether the item should be visible on a computer screen when the form is first displayed.
Source
<xs:complexType name="ButtonItemType">
  <xs:annotation>
    <xs:documentation>The ButtonAction type represents a visual area for a user to click, and the click triggers a piece of "Action" code to run inside the form. The ButtonAction object may be represented with a visible button object, or some other type of visual paradigm. Other types of actions (e.g. key presses in a text field) may be handled with the form framework's event model.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="DisplayedType">
      <xs:choice>
        <xs:element minOccurs="0" name="OnClick" type="EventType"/>
      </xs:choice>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type RulesType
Namespace urn:ihe:qrph:sdc:2016
Annotations
Rules are procedures that affect form behaviour.  They are usually triggered by changes to the form by a form user.  They may also be triggered by other rules or changes to form metadata (e.g., change to @visible).

SDC decarative form rules consist of several types:

Assertions are "predicate" expressions that evaulate to true or false, based upon the state of answers/responses or metadata within a form.  An asserion is equivalent to the "If" part of an If-Then block.  The implementation framework must assign a fucntion to handle any assertion that evaluates to False.  Assertions are no handled by the form itself.

If-Then-Else blocks run a "Then" action if the "If block evaluated to true, and an "Else" block if the "If" block evaluates to false.

An AutoSelection rule automatically selects an answer choice (ListItem) when another answer (or set of answers) is selected or unselected.

IllegalSelectionTest evaluates to true if a disallowed set of answer choices is selected at the same time.  The implementation should take an action (alert user, cancel inout, etc) when a true result occurs.

IllegalSelection Set restricts combinations of co-selected ListItems (answers).  In other words, only zero or one item in this list may be selected at a time.
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#RulesType_Validation SDCFormDesign_xsd.tmp#RulesType_AutoActivation SDCFormDesign_xsd.tmp#RulesType_AutoSelection SDCFormDesign_xsd.tmp#RulesType_ConditionalGroupActions SDCFormDesign_xsd.tmp#RulesType_ScriptedRule SDCFormDesign_xsd.tmp#RulesType_ExternalRule
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children AutoActivation, AutoSelection, Comment, ConditionalGroupActions, Extension, ExternalRule, Property, ScriptedRule, Validation
Attributes
QName Type Use Annotation
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="RulesType">
  <xs:annotation>
    <xs:documentation>Rules are procedures that affect form behaviour. They are usually triggered by changes to the form by a form user. They may also be triggered by other rules or changes to form metadata (e.g., change to @visible). SDC decarative form rules consist of several types: Assertions are "predicate" expressions that evaulate to true or false, based upon the state of answers/responses or metadata within a form. An asserion is equivalent to the "If" part of an If-Then block. The implementation framework must assign a fucntion to handle any assertion that evaluates to False. Assertions are no handled by the form itself. If-Then-Else blocks run a "Then" action if the "If block evaluated to true, and an "Else" block if the "If" block evaluates to false. An AutoSelection rule automatically selects an answer choice (ListItem) when another answer (or set of answers) is selected or unselected. IllegalSelectionTest evaluates to true if a disallowed set of answer choices is selected at the same time. The implementation should take an action (alert user, cancel inout, etc) when a true result occurs. IllegalSelection Set restricts combinations of co-selected ListItems (answers). In other words, only zero or one item in this list may be selected at a time.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:sequence>
        <xs:element minOccurs="0" name="Validation">
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="ExtensionBaseType">
                <xs:choice maxOccurs="unbounded">
                  <xs:element maxOccurs="unbounded" minOccurs="0" name="IllegalSelectionTest" type="RuleSelectionTestType">
                    <xs:annotation>
                      <xs:documentation/>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="IllegalSelectionSets" maxOccurs="unbounded" minOccurs="0" type="RuleSingleSelectionSetsType">
                  </xs:element>
                  <xs:element name="ItemAlternatives" maxOccurs="unbounded" minOccurs="0" type="AlternativesType">
                    <xs:annotation>
                      <xs:documentation/>
                    </xs:annotation>
                  </xs:element>
                </xs:choice>
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="AutoActivation" type="RuleAutoActivationType" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="AutoSelection" type="RuleAutoSelectType"/>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="ConditionalGroupActions" type="ConditionalGroupActionType"/>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="ScriptedRule" type="ScriptCodeAnyType">
          <xs:annotation>
            <xs:documentation/>
          </xs:annotation>
        </xs:element>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="ExternalRule" type="CallFuncType">
          <xs:annotation>
            <xs:documentation>Rules that are called (by referencing the rule's @name attribute) from another place in the form.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type RuleAutoActivationType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This Rule sets the activation status of Items based on the selection status of other ListItems.

This declarative rule determines (guards) when target Items should be activated or deactivated.  The rule may optionally activate/deactivate multiple target items with a single rule. The target item(s) to activate/deactivate are listed in targetNameList.

In the simplest case, this rule operates as follows:  A list of ListItems is provided (selectedItemWatchList).  If all the items in the list are selected (or unselected - see below) as specified in the selectedItemWatchList list, then the guard evaluates to true, and the targetNameList items are activated/deactivated.

In some cases, we may wish to watch unselected items in the selectedItemWatchList.  This is indicated by prefixing the name of the watched item with a minus sign/dash ("-").

In some cases, we may wish to deactivate items in the targetNameSelectList list when the selectedItemWatchList evaluated to true.  In this case, the target item is prefixed with a dash ("-").
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#SelectionDependencyAttributes SDCFormDesign_xsd.tmp#IfAttributes SDCFormDesign_xsd.tmp#RuleAutoActivationType_targetNameActivationList SDCFormDesign_xsd.tmp#RuleAutoActivationType_setVisibility SDCFormDesign_xsd.tmp#RuleAutoActivationType_setEnabled SDCFormDesign_xsd.tmp#RuleAutoActivationType_setExpanded SDCFormDesign_xsd.tmp#RuleAutoActivationType_removeResponsesWhenDeactivated
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, Property
Attributes
QName Type Default Use Annotation
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
onlyIf xs:boolean false optional
(reversible); If onlyIf is true, then the stipulated Boolean actions, which are executed when the If conditions evaluate to true,  are reversed when the conditions evaluate to false.

If onlyIf="true", the target items assume the chosen attribute values (e.g., selected, activated) ONLY when the action condition(s) are satisfied.  If the conditions are not satisfied, then all Boolean actions assume the opposite state (e.g., unselected, inactive).

Manually changing the attributes on the target item (upon which the actions are executed) will not affect any attributes in the controlling items.  It is possible to disable (enabled="false") the target item so that its attributes can only be be changed programmatically.

The default value is "false" indicating that the the rule runs when the "If" condition is "true." The attached action will not reverse (be undone) when the "If" condition evaluates to "false."
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
removeResponsesWhenDeactivated xs:boolean false optional
Delete all user selections, responses and comments when the item is deactivated.  Applies to all descendant items as well.  User should be warned before deleting anything, with an option to preserve the responses in the disabled items.  Disabled item responses should not be saved with the form data.
selectedItemSet xs:NMTOKENS required
This list contains names of ListItems (answer choices) that are watched for being selected or unselected.

If a ListItem appears in this list, then it evaluates to true when it is selected.  If a ListItem is prefixed with a hyphen (-), then it evaluates to true when unselected.  These Boolean values, derived from each named ListItem in the list, are ANDed together (by default) to produce a return value of true or false.  The default Boolean operator (AND) may be changed using @boolOp.  If @not = true, then the Boolean result is logically negated.

Renamed from: ListItemSelections
setEnabled toggleType true optional
Make target items enabled when activated and vice versa.  Default = true.  All descendants are affected in the same way.
setExpanded toggleType true optional
Expand target items when activated and collapse item when deactivated.  Default = false.  All descendants are affected in the same way.
setVisibility toggleType true optional
Make target items visible when activated and vice versa.  Default = false.  All descendants are affected in the same way.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
targetNameActivationList xs:NCName optional
This list contains the @names of Identified Items that will be automatically activated or deactivated when the @selectedItemSet evaluates to true.  

If a @name is prefixed with a hyphen (-), then the item will be deactivated when @selectedItemSet evaluates to true.  If @not = true, then the Boolean rule evaluation is negated, and thus the rule works in reverse.

If @onlyIf is true, then the above rule is reversed when @selectedItemSet evaluates to false.  In other words, named items will be deactivated, and hyphen-prefixed items will be activated when @selectedItemSet is false.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="RuleAutoActivationType">
  <xs:annotation>
    <xs:documentation>This Rule sets the activation status of Items based on the selection status of other ListItems. This declarative rule determines (guards) when target Items should be activated or deactivated. The rule may optionally activate/deactivate multiple target items with a single rule. The target item(s) to activate/deactivate are listed in targetNameList. In the simplest case, this rule operates as follows: A list of ListItems is provided (selectedItemWatchList). If all the items in the list are selected (or unselected - see below) as specified in the selectedItemWatchList list, then the guard evaluates to true, and the targetNameList items are activated/deactivated. In some cases, we may wish to watch unselected items in the selectedItemWatchList. This is indicated by prefixing the name of the watched item with a minus sign/dash ("-"). In some cases, we may wish to deactivate items in the targetNameSelectList list when the selectedItemWatchList evaluated to true. In this case, the target item is prefixed with a dash ("-").</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:attributeGroup ref="SelectionDependencyAttributes"/>
      <xs:attributeGroup ref="IfAttributes"/>
      <xs:attribute name="targetNameActivationList" type="xs:NCName">
        <xs:annotation>
          <xs:documentation>This list contains the @names of Identified Items that will be automatically activated or deactivated when the @selectedItemSet evaluates to true. If a @name is prefixed with a hyphen (-), then the item will be deactivated when @selectedItemSet evaluates to true. If @not = true, then the Boolean rule evaluation is negated, and thus the rule works in reverse. If @onlyIf is true, then the above rule is reversed when @selectedItemSet evaluates to false. In other words, named items will be deactivated, and hyphen-prefixed items will be activated when @selectedItemSet is false.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="true" name="setVisibility" type="toggleType">
        <xs:annotation>
          <xs:documentation>Make target items visible when activated and vice versa. Default = false. All descendants are affected in the same way.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="true" name="setEnabled" type="toggleType">
        <xs:annotation>
          <xs:documentation>Make target items enabled when activated and vice versa. Default = true. All descendants are affected in the same way.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="true" name="setExpanded" type="toggleType">
        <xs:annotation>
          <xs:documentation>Expand target items when activated and collapse item when deactivated. Default = false. All descendants are affected in the same way.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute default="false" name="removeResponsesWhenDeactivated" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>Delete all user selections, responses and comments when the item is deactivated. Applies to all descendant items as well. User should be warned before deleting anything, with an option to preserve the responses in the disabled items. Disabled item responses should not be saved with the form data.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type RuleAutoSelectType
Namespace urn:ihe:qrph:sdc:2016
Annotations
This Rule selects/unselects ListItems based on the selected status of other ListItems.

This declarative rule determines (guards) when target ListItems should be selected or unselected.  The guard rule may optionally select/unselect multiple target ListItems with a single rule. The target ListItem(s) to select/unselect are listed in targetNameSelectList.

In the simplest case, this rule operates as follows:  A list of ListItems is provided (selectedItemWatchList).  If all the items in the list are selected (or unselected - see below) as specified in the selectedItemWatchList list, then the guard evaluates to true, and the targetNameSelectList items are selected.

In some cases, we may wish to watch unselected items in the selectedItemWatchList.  This is indicated by prefixing the name of the watched item with a minus sign/dash ("-").

In some cases, we may wish to unselect items in the targetNameSelectList list when the selectedItemWatchList evaluated to true.  In this case, the target item is prefixed with a dash ("-").
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCFormDesign_xsd.tmp#SelectionDependencyAttributes SDCFormDesign_xsd.tmp#IfAttributes SDCFormDesign_xsd.tmp#RuleAutoSelectType_targetNameSelectList
Type extension of ExtensionBaseType
Type hierarchy
Used by
Model
Children Comment, Extension, Property
Attributes
QName Type Default Use Annotation
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
onlyIf xs:boolean false optional
(reversible); If onlyIf is true, then the stipulated Boolean actions, which are executed when the If conditions evaluate to true,  are reversed when the conditions evaluate to false.

If onlyIf="true", the target items assume the chosen attribute values (e.g., selected, activated) ONLY when the action condition(s) are satisfied.  If the conditions are not satisfied, then all Boolean actions assume the opposite state (e.g., unselected, inactive).

Manually changing the attributes on the target item (upon which the actions are executed) will not affect any attributes in the controlling items.  It is possible to disable (enabled="false") the target item so that its attributes can only be be changed programmatically.

The default value is "false" indicating that the the rule runs when the "If" condition is "true." The attached action will not reverse (be undone) when the "If" condition evaluates to "false."
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
selectedItemSet xs:NMTOKENS required
This list contains names of ListItems (answer choices) that are watched for being selected or unselected.

If a ListItem appears in this list, then it evaluates to true when it is selected.  If a ListItem is prefixed with a hyphen (-), then it evaluates to true when unselected.  These Boolean values, derived from each named ListItem in the list, are ANDed together (by default) to produce a return value of true or false.  The default Boolean operator (AND) may be changed using @boolOp.  If @not = true, then the Boolean result is logically negated.

Renamed from: ListItemSelections
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
targetNameSelectList xs:NCName optional
This list contains the @names of ListItems that will be automatically selected or deselected when the @selectedItemSet evaluates to true.  If a @name is prefixed with a hyphen (-), then the item will be deselected when @selectedItemSet evaluates to true.  If @not = true, then the Boolean rule evaluation is negated, and thus the rule works in reverse.

If @onlyIf is true, then the above rule is reversed when @selectedItemSet evaluates to false.  In other words, named items will be deselected, and hyphen-prefixed items will be selected when @selectedItemSet is false.
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
Source
<xs:complexType name="RuleAutoSelectType">
  <xs:annotation>
    <xs:documentation>This Rule selects/unselects ListItems based on the selected status of other ListItems. This declarative rule determines (guards) when target ListItems should be selected or unselected. The guard rule may optionally select/unselect multiple target ListItems with a single rule. The target ListItem(s) to select/unselect are listed in targetNameSelectList. In the simplest case, this rule operates as follows: A list of ListItems is provided (selectedItemWatchList). If all the items in the list are selected (or unselected - see below) as specified in the selectedItemWatchList list, then the guard evaluates to true, and the targetNameSelectList items are selected. In some cases, we may wish to watch unselected items in the selectedItemWatchList. This is indicated by prefixing the name of the watched item with a minus sign/dash ("-"). In some cases, we may wish to unselect items in the targetNameSelectList list when the selectedItemWatchList evaluated to true. In this case, the target item is prefixed with a dash ("-").</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ExtensionBaseType">
      <xs:attributeGroup ref="SelectionDependencyAttributes"/>
      <xs:attributeGroup ref="IfAttributes"/>
      <xs:attribute name="targetNameSelectList" type="xs:NCName">
        <xs:annotation>
          <xs:documentation>This list contains the @names of ListItems that will be automatically selected or deselected when the @selectedItemSet evaluates to true. If a @name is prefixed with a hyphen (-), then the item will be deselected when @selectedItemSet evaluates to true. If @not = true, then the Boolean rule evaluation is negated, and thus the rule works in reverse. If @onlyIf is true, then the above rule is reversed when @selectedItemSet evaluates to false. In other words, named items will be deselected, and hyphen-prefixed items will be selected when @selectedItemSet is false.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Complex Type DataElementType
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCBase_xsd.tmp#baseAttributes SDCBase_xsd.tmp#BaseType SDCResources_xsd.tmp#ExtensionBaseType_Comment SDCResources_xsd.tmp#ExtensionBaseType_Extension SDCResources_xsd.tmp#ExtensionBaseType_Property SDCResources_xsd.tmp#ExtensionBaseType SDCResources_xsd.tmp#IDAttributes SDCResources_xsd.tmp#IdentifiedExtensionType SDCFormDesign_xsd.tmp#DataElementType_title SDCFormDesign_xsd.tmp#DataElementType_filename SDCFormDesign_xsd.tmp#DataElementType_basedOnURI SDCFormDesign_xsd.tmp#DataElementType_lineage SDCFormDesign_xsd.tmp#DataElementType_version SDCFormDesign_xsd.tmp#DataElementType_fullURI SDCFormDesign_xsd.tmp#DataElementType_prevVersionURI SDCFormDesign_xsd.tmp#DataElementType_instanceURI SDCFormDesign_xsd.tmp#DataElementType_instanceVersionURI SDCFormDesign_xsd.tmp#DataElementType_previousInstanceVersionURI SDCFormDesign_xsd.tmp#ResponseAttributes SDCFormDesign_xsd.tmp#ChildElementsGroup_Section SDCFormDesign_xsd.tmp#ChildElementsGroup_Question SDCFormDesign_xsd.tmp#ChildElementsGroup_DisplayedItem SDCFormDesign_xsd.tmp#ChildElementsGroup_ButtonAction SDCFormDesign_xsd.tmp#ChildElementsGroup_InjectForm SDCFormDesign_xsd.tmp#ChildElementsGroup
Type extension of IdentifiedExtensionType
Type hierarchy
Used by
Element DataElement
Model
Children ButtonAction, Comment, DisplayedItem, Extension, InjectForm, Property, Question, Section
Attributes
QName Type Use Annotation
ID URI_Atype required
A unique identifier for critical types in FormDesign.
TODO: Needs Schematron to calidate uniqueness in each form.
baseURI URI_Atype optional
If the ID does not use the default base URI (namespace), then the local baseURI goes here. Note that all IDs must be unique within a form, even if they do not have the same baseURI. 

Ideally, the baseURI + ID should combine to form a *globally* unique identifier, that uniquely identifies an item in a particular form.  The same baseURI and ID may be reused in derived or versioned forms, as long as the context stays the same, and any affected data elements remain unchanged in context and semantics.  Following this approach is likely to simplify analytics based on form content.
basedOnURI URI_Atype optional
NEW: URI used to identify the DE that that this DE is based upon.  In most cases, this should be a standard form that is modified and/or extended by the current DE.   
                     
The current template reuses the basedOn IDs whenever the question/answer/semantic context is identical to the original.
filename xs:string optional
NEW: filename to use when the current DE instance is saved as a file.  
For DEs containing responses, the filename may include the deInstanceVersionURI, 
but the naming convention may be use-case-specific.
fullURI URI_Atype required
NEW: The full URI that uniquely identifies the current DE.   It is created by concatenating @baseURI + lineage + version.  Each of the componenets is separated by a single forward slash.
instanceURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a DE.  Used for tracking DE responses across time and across multiple episodes of editing by end-users.  This URI does not change for each edit session of a DE instance.
instanceVersionURI URI_Atype optional
NEW: Unique URI used to identify a unique instance of a DE's saved responses.  It is used for tracking DE responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit/save session of a DE instance.  It may be e.g., a new GUID, or a repeat of the deInstanceID followed by a version number.
lineage xs:string required
NEW: A text identifier that is used to group multiple versions of a single DE.  The lineage is constant for all versions of a single kind of DE.  

When appended to @baseURI, it can be used to retrieve all versions of one particular DE.
name xs:ID optional
Developer assigned identifier, similar to a unique control/object
name, used to provide the ability for programmatic manipulation of an
element.
order restriction of xs:decimal optional
@order allows the form template developer to define a sequential
order for elements in a template. This serves the purpose of providing a
definitive/original order to sections, questions, answer choices, etc., when
required for display purposes. This is important when the original XML ordering
may become disrupted due to the use of an implementation technology that does
not natively support ordering (e.g., object collections), and it can also
provide a check on the proper importing of the XML tree during
implementation.
prevVersionURI URI_Atype optional
NEW: The full URI used to identify the DE that is the immediate previous version of the current DE
previousInstanceVersionURI URI_Atype optional
NEW: Unique URI used to identify the immediate previous instance of a de containing responses.  This is the @deInstanceVersionURI that represents the instance of the form that the user opened up before beginning a new cycle of edit/save.  This attribute is used for tracking de responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit session of a de instance.
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
styleClass xs:NMTOKENS optional
Developer assigned class name for display styling, generally for
use with an external style sheet.
title xs:string optional
NEW: human readable title for display when choosing forms. Added 4/27/16
type xs:NMTOKENS optional
The @type attribute can contain custom metadata "tokens" for the
element, chosen from a standardized list of terms. Tokens are short alphanumeric
text strings, defined by the W3C Schema NMTOKEN specification, that are defined
in an Implementation Guide. The type xsd:NMTOKEN represents a single string
token. NMTOKEN values may consist of letters, digits, periods ( . ), hyphens ( -
), underscores ( _ ), and colons ( : ). They may start with any of these
characters. (www.datypic.com/sc/xsd/t-xsd_NMTOKEN.html) @type tokens may be
specific for one or more kinds of SDC elements. Multiple tokens in the type
attribute should be separated by whitespace. Type tokens may be used to specify
special handling by an application, and are usually used to define form display
constraints, but may include other custom metadata as well. Style metadata
should generally be handled with @styleClass rather than @type. @type token
examples include: tooltip, statusLineText, alignTopLeft, align:bottom,
_pageBreak-after, etc. @type metadata should generally not affect the
information content of a form.
version xs:string required
NEW: @version contains the version text for the current DE.  It is designed to be used in conjuction with @baseURI and @lineage.
Source
<xs:complexType name="DataElementType">
  <xs:complexContent>
    <xs:extension base="IdentifiedExtensionType">
      <xs:group maxOccurs="unbounded" ref="ChildElementsGroup"/>
      <xs:attribute name="title" type="xs:string">
        <xs:annotation>
          <xs:documentation>NEW: human readable title for display when choosing forms. Added 4/27/16</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="filename" type="xs:string">
        <xs:annotation>
          <xs:documentation>NEW: filename to use when the current DE instance is saved as a file. For DEs containing responses, the filename may include the deInstanceVersionURI, but the naming convention may be use-case-specific.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="basedOnURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>NEW: URI used to identify the DE that that this DE is based upon. In most cases, this should be a standard form that is modified and/or extended by the current DE. The current template reuses the basedOn IDs whenever the question/answer/semantic context is identical to the original.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="lineage" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>NEW: A text identifier that is used to group multiple versions of a single DE. The lineage is constant for all versions of a single kind of DE. When appended to @baseURI, it can be used to retrieve all versions of one particular DE.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="version" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>NEW: @version contains the version text for the current DE. It is designed to be used in conjuction with @baseURI and @lineage.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fullURI" type="URI_Atype" use="required">
        <xs:annotation>
          <xs:documentation>NEW: The full URI that uniquely identifies the current DE. It is created by concatenating @baseURI + lineage + version. Each of the componenets is separated by a single forward slash.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="prevVersionURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>NEW: The full URI used to identify the DE that is the immediate previous version of the current DE</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="instanceURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>NEW: Unique URI used to identify a unique instance of a DE. Used for tracking DE responses across time and across multiple episodes of editing by end-users. This URI does not change for each edit session of a DE instance.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="instanceVersionURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>NEW: Unique URI used to identify a unique instance of a DE's saved responses. It is used for tracking DE responses across time and across multiple episodes of editing by end-users. This URI must change for each edit/save session of a DE instance. It may be e.g., a new GUID, or a repeat of the deInstanceID followed by a version number.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="previousInstanceVersionURI" type="URI_Atype">
        <xs:annotation>
          <xs:documentation>NEW: Unique URI used to identify the immediate previous instance of a de containing responses. This is the @deInstanceVersionURI that represents the instance of the form that the user opened up before beginning a new cycle of edit/save. This attribute is used for tracking de responses across time and across multiple episodes of editing by end-users. This URI must change for each edit session of a de instance.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attributeGroup ref="ResponseAttributes"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Attribute GetItemAttribValuesType / @itemNames
Namespace No namespace
Annotations
Required name(s) of the item(s) (Section, Question, List Item) that contains the item properties used in the other attributes.
Type xs:NMTOKENS
Properties
use required
Used by
Source
<xs:attribute name="itemNames" type="xs:NMTOKENS" use="required">
  <xs:annotation>
    <xs:documentation>Required name(s) of the item(s) (Section, Question, List Item) that contains the item properties used in the other attributes.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute GetItemAttribValuesType / @isSelected
Namespace No namespace
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="isSelected" type="xs:boolean"/>
Attribute GetItemAttribValuesType / @isActive
Namespace No namespace
Annotations
If visible and enabled are both true, then isActive is true.  Otherwise, it is false.
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="isActive" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>If visible and enabled are both true, then isActive is true. Otherwise, it is false.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute GetItemAttribValuesType / @hasSelectionsGTE
Namespace No namespace
Annotations
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items equals or exceeds the entered value.
Type xs:nonNegativeInteger
Properties
content simple
Used by
Source
<xs:attribute name="hasSelectionsGTE" type="xs:nonNegativeInteger">
  <xs:annotation>
    <xs:documentation>Applies only to Questions that have selection lists (ListItems or LookupField). Evaluates to true if the number of selected items equals or exceeds the entered value.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute GetItemAttribValuesType / @hasSelectionsLTE
Namespace No namespace
Annotations
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items is less than or equal to the entered value.
Type xs:nonNegativeInteger
Properties
content simple
Used by
Source
<xs:attribute name="hasSelectionsLTE" type="xs:nonNegativeInteger">
  <xs:annotation>
    <xs:documentation>Applies only to Questions that have selection lists (ListItems or LookupField). Evaluates to true if the number of selected items is less than or equal to the entered value.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute GetItemAttribValuesType / @hasSelectionsExact
Namespace No namespace
Annotations
Applies only to Questions that have selection lists (ListItems or LookupField).  Evaluates to true if the number of selected items equals the entered value.
Type xs:nonNegativeInteger
Properties
content simple
Used by
Source
<xs:attribute name="hasSelectionsExact" type="xs:nonNegativeInteger">
  <xs:annotation>
    <xs:documentation>Applies only to Questions that have selection lists (ListItems or LookupField). Evaluates to true if the number of selected items equals the entered value.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute GetItemAttribValuesType / @hasResponse
Namespace No namespace
Annotations
Applies only to items that have Response Fields (Questions and ListItems).  If the ListItem or Question has a Response Field, and that field has a value in it, this property returns true.  If it does not have a value, it returns false.  If no Response Field is present, it retuns null and is not used for Boolean comparisons.
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="hasResponse" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>Applies only to items that have Response Fields (Questions and ListItems). If the ListItem or Question has a Response Field, and that field has a value in it, this property returns true. If it does not have a value, it returns false. If no Response Field is present, it retuns null and is not used for Boolean comparisons.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute GetItemAttribValuesType / @isVisible
Namespace No namespace
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="isVisible" type="xs:boolean"/>
Attribute GetItemAttribValuesType / @isEnabled
Namespace No namespace
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="isEnabled" type="xs:boolean"/>
Attribute GetItemAttribValuesType / @isRequired
Namespace No namespace
Annotations
If the minCard value is greater than 0, then isRequired = "true"  
If the minCard = "0" then isRequired = "false"
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="isRequired" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>If the minCard value is greater than 0, then isRequired = "true" If the minCard = "0" then isRequired = "false"</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute GetItemAttribValuesType / @isReadOnly
Namespace No namespace
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="isReadOnly" type="xs:boolean"/>
Attribute GetItemAttribValuesType / @hasType
Namespace No namespace
Type xs:NMTOKENS
Properties
content simple
Used by
Source
<xs:attribute name="hasType" type="xs:NMTOKENS"/>
Attribute GetItemAttribValuesType / @hasStyleClass
Namespace No namespace
Type xs:NMTOKENS
Properties
content simple
Used by
Source
<xs:attribute name="hasStyleClass" type="xs:NMTOKENS"/>
Attribute GetItemAttribValuesType / @hasValueEQ
Namespace No namespace
Type xs:decimal
Properties
content simple
Used by
Source
<xs:attribute name="hasValueEQ" type="xs:decimal"/>
Attribute GetItemAttribValuesType / @hasValueLT
Namespace No namespace
Type xs:decimal
Properties
content simple
Used by
Source
<xs:attribute name="hasValueLT" type="xs:decimal"/>
Attribute GetItemAttribValuesType / @hasValueLTE
Namespace No namespace
Type xs:decimal
Properties
content simple
Used by
Source
<xs:attribute name="hasValueLTE" type="xs:decimal"/>
Attribute GetItemAttribValuesType / @hasValueGT
Namespace No namespace
Type xs:decimal
Properties
content simple
Used by
Source
<xs:attribute name="hasValueGT" type="xs:decimal"/>
Attribute GetItemAttribValuesType / @hasValueGTE
Namespace No namespace
Type xs:decimal
Properties
content simple
Used by
Source
<xs:attribute name="hasValueGTE" type="xs:decimal"/>
Attribute GetItemAttribValuesType / @hasAssociatedValue
Namespace No namespace
Annotations
Applies only to ListItems. If the attribute has a value in it, this property returns true.  If it does not have a value, it returns false.
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="hasAssociatedValue" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>Applies only to ListItems. If the attribute has a value in it, this property returns true. If it does not have a value, it returns false.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute GetItemAttribValuesType / @hasAssociatedValueEQ
Namespace No namespace
Type xs:decimal
Properties
content simple
Used by
Source
<xs:attribute name="hasAssociatedValueEQ" type="xs:decimal"/>
Attribute GetItemAttribValuesType / @hasAssociatedValueLT
Namespace No namespace
Type xs:decimal
Properties
content simple
Used by
Source
<xs:attribute name="hasAssociatedValueLT" type="xs:decimal"/>
Attribute GetItemAttribValuesType / @hasAssociatedValueLTE
Namespace No namespace
Type xs:decimal
Properties
content simple
Used by
Source
<xs:attribute name="hasAssociatedValueLTE" type="xs:decimal"/>
Attribute GetItemAttribValuesType / @hasAssociatedValueGT
Namespace No namespace
Type xs:decimal
Properties
content simple
Used by
Source
<xs:attribute name="hasAssociatedValueGT" type="xs:decimal"/>
Attribute GetItemAttribValuesType / @hasAssociatedValueGTE
Namespace No namespace
Type xs:decimal
Properties
content simple
Used by
Source
<xs:attribute name="hasAssociatedValueGTE" type="xs:decimal"/>
Attribute GetItemAttribValuesType / @supportdatesandIntervals
Namespace No namespace
Used by
Source
<xs:attribute name="supportdatesandIntervals"/>
Attribute ActActionType / @action
Namespace No namespace
Type xs:string
Properties
use required
Used by
Complex Type ActActionType
Source
<xs:attribute name="action" type="xs:string" use="required"/>
Attribute ActSetItemAttributeType / @targetNames
Namespace No namespace
Annotations
The names of the items affected by property actions
Type xs:NMTOKENS
Properties
use required
Used by
Source
<xs:attribute name="targetNames" type="xs:NMTOKENS" use="required">
  <xs:annotation>
    <xs:documentation>The names of the items affected by property actions</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetItemAttributeType / @actVisible
Namespace No namespace
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="actVisible" type="xs:boolean"/>
Attribute ActSetItemAttributeType / @actEnable
Namespace No namespace
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="actEnable" type="xs:boolean"/>
Attribute ActSetItemAttributeType / @actMinCard
Namespace No namespace
Annotations
Controls requirement to answer the question and the minimum number of repeats.
Type xs:nonNegativeInteger
Properties
content simple
Used by
Source
<xs:attribute name="actMinCard" type="xs:nonNegativeInteger">
  <xs:annotation>
    <xs:documentation>Controls requirement to answer the question and the minimum number of repeats.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetItemAttributeType / @actMaxCard
Namespace No namespace
Annotations
Controls requirement to answer the question
Type xs:nonNegativeInteger
Properties
content simple
Used by
Source
<xs:attribute name="actMaxCard" type="xs:nonNegativeInteger">
  <xs:annotation>
    <xs:documentation>Controls requirement to answer the question</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetItemAttributeType / @actActivate
Namespace No namespace
Annotations
Toggle visible and enabled together.  Setting this to false will de-activate all descendents but will not change their enabled or visible properties.
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="actActivate" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>Toggle visible and enabled together. Setting this to false will de-activate all descendents but will not change their enabled or visible properties.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetItemAttributeType / @actSelect
Namespace No namespace
Annotations
Toggle selection of a List Item; not applicable to other items.
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="actSelect" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>Toggle selection of a List Item; not applicable to other items.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetItemAttributeType / @actDeleteResponse
Namespace No namespace
Annotations
Delete any response in a Response field on a question or ListItem.  Not applicable to other item types.
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="actDeleteResponse" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>Delete any response in a Response field on a question or ListItem. Not applicable to other item types.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetItemAttributeType / @actReadOnly
Namespace No namespace
Annotations
Delete any response in a Response field on a question or ListItem.  Not applicable to other item types.
Type xs:boolean
Properties
content simple
Used by
Source
<xs:attribute name="actReadOnly" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>Delete any response in a Response field on a question or ListItem. Not applicable to other item types.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetItemAttributeType / @actType
Namespace No namespace
Annotations
Set the @type attribute value
Type xs:NMTOKENS
Properties
content simple
Used by
Source
<xs:attribute name="actType" type="xs:NMTOKENS">
  <xs:annotation>
    <xs:documentation>Set the @type attribute value</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetItemAttributeType / @actStyleClass
Namespace No namespace
Annotations
Set the @styleClass attribute value
Type xs:NMTOKENS
Properties
content simple
Used by
Source
<xs:attribute name="actStyleClass" type="xs:NMTOKENS">
  <xs:annotation>
    <xs:documentation>Set the @styleClass attribute value</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetItemAttributeType / @actSetTitleText
Namespace No namespace
Annotations
Set the @title text on an item.
Type xs:string
Properties
content simple
Used by
Source
<xs:attribute name="actSetTitleText" type="xs:string">
  <xs:annotation>
    <xs:documentation>Set the @title text on an item.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetItemAttributeType / @actSetBase64HTML
Namespace No namespace
Annotations
Set HTML as base-64-encoded binary
Type xs:base64Binary
Properties
content simple
Used by
Source
<xs:attribute name="actSetBase64HTML" type="xs:base64Binary">
  <xs:annotation>
    <xs:documentation>Set HTML as base-64-encoded binary</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetItemAttributeType / @actSetCode
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Source
<xs:attribute name="actSetCode" type="xs:string"/>
Attribute ActSetItemAttributeType / @actSetCodeSystem
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Source
<xs:attribute name="actSetCodeSystem" type="xs:string"/>
Attribute ActSetItemAttributeType / @actSetVal
Namespace No namespace
Annotations
Set a @val attribute.  The correct data type must be used if applicable.
Type xs:string
Properties
content simple
Used by
Source
<xs:attribute name="actSetVal" type="xs:string">
  <xs:annotation>
    <xs:documentation>Set a @val attribute. The correct data type must be used if applicable.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetItemAttributeType / @actSetAssociatedValue
Namespace No namespace
Annotations
Set @associatedValue attribute of a ListItem.  The correct data type must be used if applicable.
Type xs:string
Properties
content simple
Used by
Source
<xs:attribute name="actSetAssociatedValue" type="xs:string">
  <xs:annotation>
    <xs:documentation>Set @associatedValue attribute of a ListItem. The correct data type must be used if applicable.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSendReportType / @reportID
Namespace No namespace
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type ActSendReportType
Source
<xs:attribute name="reportID" type="URI_Atype"/>
Attribute ActSendReportType / @reportInstanceGuid
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActSendReportType
Source
<xs:attribute name="reportInstanceGuid" type="xs:string"/>
Attribute ActSendReportType / @reportInstanceVersonGuid
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActSendReportType
Source
<xs:attribute name="reportInstanceVersonGuid" type="xs:string"/>
Attribute ActSendMessageType / @messageType
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActSendMessageType
Source
<xs:attribute name="messageType" type="xs:string"/>
Attribute ActSetValueBoolType / @elementName
Namespace No namespace
Annotations
The @name attribute of the referenced element.
Type xs:NCName
Properties
use required
Used by
Complex Type ActSetValueBoolType
Source
<xs:attribute name="elementName" type="xs:NCName" use="required">
  <xs:annotation>
    <xs:documentation>The @name attribute of the referenced element.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetValueBoolType / @attributeName
Namespace No namespace
Annotations
The name of any attribute on a named element.
Type xs:NCName
Properties
default val
Used by
Complex Type ActSetValueBoolType
Source
<xs:attribute name="attributeName" type="xs:NCName" default="val">
  <xs:annotation>
    <xs:documentation>The name of any attribute on a named element.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActSetValueBoolType / @X_targetNames
Namespace No namespace
Type xs:NMTOKENS
Properties
use required
Used by
Complex Type ActSetValueBoolType
Source
<xs:attribute name="X_targetNames" type="xs:NMTOKENS" use="required"/>
Attribute ActShowFormType / @formID
Namespace No namespace
Annotations
This ID represents the form to be displayed.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type ActShowFormType
Source
<xs:attribute name="formID" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>This ID represents the form to be displayed.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActShowFormType / @packageID
Namespace No namespace
Annotations
This ID represents the Package that contains the form to be displayed.
Type URI_Atype
Properties
use required
Facets
minLength 1
Used by
Complex Type ActShowFormType
Source
<xs:attribute name="packageID" type="URI_Atype" use="required">
  <xs:annotation>
    <xs:documentation>This ID represents the Package that contains the form to be displayed.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActShowFormType / @displayState
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActShowFormType
Source
<xs:attribute name="displayState" type="xs:string"/>
Attribute ActShowMessageType / @alertLevel
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActShowMessageType
Source
<xs:attribute name="alertLevel" type="xs:string"/>
Attribute ActShowMessageType / @alertType
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActShowMessageType
Source
<xs:attribute name="alertType" type="xs:string"/>
Attribute ActShowMessageType / @messageType
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActShowMessageType
Source
<xs:attribute name="messageType" type="xs:string"/>
Attribute ActShowMessageType / @messageCode
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActShowMessageType
Source
<xs:attribute name="messageCode" type="xs:string"/>
Attribute ActShowReportType / @reportID
Namespace No namespace
Annotations
This ID represents the report to be displayed.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type ActShowReportType
Source
<xs:attribute name="reportID" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>This ID represents the report to be displayed.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActShowReportType / @packageID
Namespace No namespace
Annotations
This ID represents the Package that contains the report to be displayed.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type ActShowReportType
Source
<xs:attribute name="packageID" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>This ID represents the Package that contains the report to be displayed.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActShowReportType / @reportInstanceGuid
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActShowReportType
Source
<xs:attribute name="reportInstanceGuid" type="xs:string"/>
Attribute ActShowReportType / @reportInstanceVersonGuid
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActShowReportType
Source
<xs:attribute name="reportInstanceVersonGuid" type="xs:string"/>
Attribute ActShowReportType / @displayState
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActShowReportType
Source
<xs:attribute name="displayState" type="xs:string"/>
Attribute ActPreviewReportType / @reportID
Namespace No namespace
Annotations
This ID represents the report to be displayed.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type ActPreviewReportType
Source
<xs:attribute name="reportID" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>This ID represents the report to be displayed.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActPreviewReportType / @displayState
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActPreviewReportType
Source
<xs:attribute name="displayState" type="xs:string"/>
Attribute ActValidateFormType / @validateDataTypes
Namespace No namespace
Type xs:boolean
Properties
default false
Used by
Complex Type ActValidateFormType
Source
<xs:attribute default="false" name="validateDataTypes" type="xs:boolean"/>
Attribute ActValidateFormType / @validateRules
Namespace No namespace
Type xs:boolean
Properties
default false
Used by
Complex Type ActValidateFormType
Source
<xs:attribute default="false" name="validateRules" type="xs:boolean"/>
Attribute ActValidateFormType / @validateCompleteness
Namespace No namespace
Type xs:boolean
Properties
default false
Used by
Complex Type ActValidateFormType
Source
<xs:attribute default="false" name="validateCompleteness" type="xs:boolean"/>
Attribute ActValidateFormType / @validationType
Namespace No namespace
Type xs:string
Properties
content simple
Used by
Complex Type ActValidateFormType
Source
<xs:attribute name="validationType" type="xs:string"/>
Attribute OnEventType / @eventName
Namespace No namespace
Type xs:string
Properties
use required
Used by
Complex Type OnEventType
Source
<xs:attribute name="eventName" type="xs:string" use="required"/>
Attribute SelectionDependencyAttributes / @selectedItemSet
Namespace No namespace
Annotations
This list contains names of ListItems (answer choices) that are watched for being selected or unselected.

If a ListItem appears in this list, then it evaluates to true when it is selected.  If a ListItem is prefixed with a hyphen (-), then it evaluates to true when unselected.  These Boolean values, derived from each named ListItem in the list, are ANDed together (by default) to produce a return value of true or false.  The default Boolean operator (AND) may be changed using @boolOp.  If @not = true, then the Boolean result is logically negated.

Renamed from: ListItemSelections
Type xs:NMTOKENS
Properties
use required
Used by
Source
<xs:attribute use="required" name="selectedItemSet" type="xs:NMTOKENS">
  <xs:annotation>
    <xs:documentation>This list contains names of ListItems (answer choices) that are watched for being selected or unselected. If a ListItem appears in this list, then it evaluates to true when it is selected. If a ListItem is prefixed with a hyphen (-), then it evaluates to true when unselected. These Boolean values, derived from each named ListItem in the list, are ANDed together (by default) to produce a return value of true or false. The default Boolean operator (AND) may be changed using @boolOp. If @not = true, then the Boolean result is logically negated. Renamed from: ListItemSelections</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute RuleSingleSelectionSetsType / @listItemNames
Namespace No namespace
Annotations
Set of @name references for a set ListItems, delimited by spaces.
Type xs:NMTOKENS
Properties
use required
Used by
Source
<xs:attribute name="listItemNames" type="xs:NMTOKENS" use="required">
  <xs:annotation>
    <xs:documentation>Set of @name references for a set ListItems, delimited by spaces.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute RuleSelectionTestType / @testItemName
Namespace No namespace
Annotations
The ListItem that is being evaluated for the presence of disallowed selections (in @listItemNames).  This attributes contains the @name of one ListItem.
Type xs:NMTOKEN
Properties
use required
Used by
Complex Type RuleSelectionTestType
Source
<xs:attribute name="testItemName" type="xs:NMTOKEN" use="required">
  <xs:annotation>
    <xs:documentation>The ListItem that is being evaluated for the presence of disallowed selections (in @listItemNames). This attributes contains the @name of one ListItem.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute AlternativesType / @minAnswered
Namespace No namespace
Type xs:int
Properties
use optional
default 1
Used by
Complex Type AlternativesType
Source
<xs:attribute default="1" name="minAnswered" type="xs:int" use="optional"/>
Attribute AlternativesType / @maxAnswered
Namespace No namespace
Annotations
@maxAnswered must be 0 or greater than or equal to @minAnswered.
Type xs:int
Properties
default 0
Used by
Complex Type AlternativesType
Source
<xs:attribute default="0" name="maxAnswered" type="xs:int">
  <xs:annotation>
    <xs:documentation>@maxAnswered must be 0 or greater than or equal to @minAnswered.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute AlternativesType / @itemNames
Namespace No namespace
Annotations
List of names of Sections, Questions, ListItems and/or InjectedItems.  Each of the named items will evaluate to true or false, based on the following validation rules:

If the name points to a Section, then the Section evaluates to true (valid) if all of its descendant items are answered correctly, according to their metadata.

If the name points to a Question then the Question evaluates to true (valid) if it is correctly answered according to its metadata, and also, all descendant items are answered correctly, according to their metadata.

If the name points to a ListItem then the ListItem evaluates to true (valid) if it is selected, and also, all descendant items are answered correctly according to their metadata.

If the name points to an InjectedItem then the InjectedItem evaluates to true (valid) if all descendant items are answered correctly, according to their metadata.

The number of true responses are added together.  If they satisfy the minAnswered and maxAnswered attribute values, then this type returns true.  Otherwise it returns false.
Type xs:NMTOKENS
Properties
content simple
Used by
Complex Type AlternativesType
Source
<xs:attribute name="itemNames" type="xs:NMTOKENS">
  <xs:annotation>
    <xs:documentation>List of names of Sections, Questions, ListItems and/or InjectedItems. Each of the named items will evaluate to true or false, based on the following validation rules: If the name points to a Section, then the Section evaluates to true (valid) if all of its descendant items are answered correctly, according to their metadata. If the name points to a Question then the Question evaluates to true (valid) if it is correctly answered according to its metadata, and also, all descendant items are answered correctly, according to their metadata. If the name points to a ListItem then the ListItem evaluates to true (valid) if it is selected, and also, all descendant items are answered correctly according to their metadata. If the name points to an InjectedItem then the InjectedItem evaluates to true (valid) if all descendant items are answered correctly, according to their metadata. The number of true responses are added together. If they satisfy the minAnswered and maxAnswered attribute values, then this type returns true. Otherwise it returns false.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DisplayedType / @title
Namespace No namespace
Annotations
The primary text to show on the form.  Also known as "prompt" or "label" or "visibleText" or "caption"
Type xs:string
Properties
content simple
Used by
Complex Type DisplayedType
Source
<xs:attribute name="title" type="xs:string">
  <xs:annotation>
    <xs:documentation>The primary text to show on the form. Also known as "prompt" or "label" or "visibleText" or "caption"</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DisplayedType / @enabled
Namespace No namespace
Annotations
Determines whether the user can interact with the displayed item when the form is first displayed.
Type xs:boolean
Properties
default true
Used by
Complex Type DisplayedType
Source
<xs:attribute default="true" name="enabled" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>Determines whether the user can interact with the displayed item when the form is first displayed.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DisplayedType / @visible
Namespace No namespace
Annotations
Determines whether the item should be visible on a computer screen when the form is first displayed.
Type xs:boolean
Properties
default true
Used by
Complex Type DisplayedType
Source
<xs:attribute default="true" name="visible" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>Determines whether the item should be visible on a computer screen when the form is first displayed.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DisplayedType / @mustImplement
Namespace No namespace
Annotations
If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.
Type xs:boolean
Properties
default true
Used by
Complex Type DisplayedType
Source
<xs:attribute default="true" name="mustImplement" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>If this attribute is set to "true" (the default), then the form implementation must make this item available for use on the form. If this attribute is set to "false" on a parent or ancestor item, then all child/descendant items inherit this "false" setting, even if they have this attribute set to "true." In other words, the child/descendent items do not need to be implemented if any parent/ancestor item has this attribute set to false.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DisplayedType / @showInReport
Namespace No namespace
Annotations
CHANGED to T/F/Optional

If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template.  If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report.  If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report.  If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report.

This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.
Type restriction of xs:string
Properties
default True
Facets
enumeration True
enumeration False
enumeration Optional
Used by
Complex Type DisplayedType
Source
<xs:attribute default="True" name="showInReport">
  <xs:annotation>
    <xs:documentation>CHANGED to T/F/Optional If @showInReport on a Question is false, then the Question and its ListItems (if any) should not be present in a typical report derived from this template. If this attribute appears on a ListItem, then the entire question and all ListItems should be omitted from the report. If this attribute appears on a Section, then the entire Section and all Section contents (descendents) should be omitted from the report. If @showInReport appears on a DisplayedItem, then the DisplayedItem (and all sub-items) should be omitted from the report. This attribute is usually set to false when a Question is used to control form behavior (e.g., skip logic), or when the Question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed.</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="True"/>
      <xs:enumeration value="False"/>
      <xs:enumeration value="Optional"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
Attribute RepeatingType / @minCard
Namespace No namespace
Annotations
@minCard is the minimum number of repetitions allowed for a section or question.  The default value is 1, indicating that the user must answer any question(s) that has this attribute set.  If @minCard is set to 0, then the item and all descendent questions are optional to answer.
Type xs:unsignedShort
Properties
default 1
Used by
Complex Type RepeatingType
Source
<xs:attribute name="minCard" type="xs:unsignedShort" default="1">
  <xs:annotation>
    <xs:documentation>@minCard is the minimum number of repetitions allowed for a section or question. The default value is 1, indicating that the user must answer any question(s) that has this attribute set. If @minCard is set to 0, then the item and all descendent questions are optional to answer.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute RepeatingType / @maxCard
Namespace No namespace
Annotations
@maxCard is the maximum number of repetitions allowed for a section or question.  The default value is 1, indicating that the section or question cannot be repeated on the data entry form.  A value of 0 indicates that the number of repeats is unlimited.  If @maxCard is not 0, then Must be greater than or equal to minCard.
Type xs:unsignedShort
Properties
default 1
Used by
Complex Type RepeatingType
Source
<xs:attribute name="maxCard" default="1" type="xs:unsignedShort">
  <xs:annotation>
    <xs:documentation>@maxCard is the maximum number of repetitions allowed for a section or question. The default value is 1, indicating that the section or question cannot be repeated on the data entry form. A value of 0 indicates that the number of repeats is unlimited. If @maxCard is not 0, then Must be greater than or equal to minCard.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ResponseReportingAttributes / @repeat
Namespace No namespace
Annotations
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
Type xs:positiveInteger
Properties
default 1
Used by
Attribute Group ResponseReportingAttributes
Source
<xs:attribute default="1" name="repeat" type="xs:positiveInteger">
  <xs:annotation>
    <xs:documentation>For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ResponseReportingAttributes / @instanceGUID
Namespace No namespace
Annotations
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
Type xs:string
Properties
content simple
Used by
Attribute Group ResponseReportingAttributes
Source
<xs:attribute name="instanceGUID" type="xs:string">
  <xs:annotation>
    <xs:documentation>A globally unique string assigned to a repeating Question or Section, Injected Form, or any selected answer ListItem. This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ResponseReportingAttributes / @parentGUID
Namespace No namespace
Annotations
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
Type xs:string
Properties
content simple
Used by
Attribute Group ResponseReportingAttributes
Source
<xs:attribute name="parentGUID" type="xs:string">
  <xs:annotation>
    <xs:documentation>A globally unique string assigned from a Section, Question, ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute SectionBaseType / @ordered
Namespace No namespace
Annotations
If false, then the form implementation may change the order of items in the section.
Type xs:boolean
Properties
default true
Used by
Complex Type SectionBaseType
Source
<xs:attribute default="true" name="ordered" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>If false, then the form implementation may change the order of items in the section.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ResponseAttributes / @responseTypeEnum
Namespace No namespace
Annotations
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
Type restriction of xs:string
Properties
content simple
Facets
enumeration initial
enumeration correction
enumeration update
enumeration addition
enumeration deletion
enumeration multiple_changes
Used by
Attribute Group ResponseAttributes
Source
<xs:attribute name="responseTypeEnum">
  <xs:annotation>
    <xs:documentation>Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="initial"/>
      <xs:enumeration value="correction"/>
      <xs:enumeration value="update"/>
      <xs:enumeration value="addition"/>
      <xs:enumeration value="deletion"/>
      <xs:enumeration value="multiple_changes"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
Attribute ResponseAttributes / @responseStatusEnum
Namespace No namespace
Annotations
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
Type restriction of xs:string
Properties
content simple
Facets
enumeration draft
enumeration pending
enumeration preliminary
enumeration final
enumeration retracted
Used by
Attribute Group ResponseAttributes
Source
<xs:attribute name="responseStatusEnum">
  <xs:annotation>
    <xs:documentation>Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="draft"/>
      <xs:enumeration value="pending"/>
      <xs:enumeration value="preliminary"/>
      <xs:enumeration value="final"/>
      <xs:enumeration value="retracted"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
Attribute ListItemResponseFieldType / @responseRequired
Namespace No namespace
Annotations
If @responseRequired is set to true, then the appropriate text or Blob must be entered in the data-entry field associated with this list item.
Type xs:boolean
Properties
default false
Used by
Source
<xs:attribute name="responseRequired" type="xs:boolean" default="false">
  <xs:annotation>
    <xs:documentation>If @responseRequired is set to true, then the appropriate text or Blob must be entered in the data-entry field associated with this list item.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ListItemBaseType / @selected
Namespace No namespace
Annotations
Represents the default value of the ListItem in the FormDesign template, or the user's response in selecting one or more ListItems.  If @multiSelect='false' on ListField then only one item may be selected.
Type xs:boolean
Properties
default false
Used by
Complex Type ListItemBaseType
Source
<xs:attribute default="false" name="selected" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>Represents the default value of the ListItem in the FormDesign template, or the user's response in selecting one or more ListItems. If @multiSelect='false' on ListField then only one item may be selected.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ListItemBaseType / @selectionDisablesChildren
Namespace No namespace
Annotations
If set to true, then selecting this ListItem must deactivate all descendant parts of the form, and ignore any user-entered values in the deactivated part.  Deselecting the ListItem should reactivate the descendant items in their state at the time the items were deactivated.

If items are disabled, then any data stored in the disabled questions should be removed.
Type xs:boolean
Properties
default false
Used by
Complex Type ListItemBaseType
Source
<xs:attribute default="false" name="selectionDisablesChildren" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>If set to true, then selecting this ListItem must deactivate all descendant parts of the form, and ignore any user-entered values in the deactivated part. Deselecting the ListItem should reactivate the descendant items in their state at the time the items were deactivated. If items are disabled, then any data stored in the disabled questions should be removed.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ListItemBaseType / @selectionActivatesItems
Namespace No namespace
Annotations
NEW
Selecting the current ListItem will enable the named items in this attribute's content.

Prefixing any named with a hyphen (-) will reverse the above behaviour (i.e., the named items will be disabled).

Unselecting the ListItem will reverse this behaviour.
Prefixing the name with a tilde (~) will supress this reversal behavior.
Type xs:NMTOKENS
Properties
content simple
Used by
Complex Type ListItemBaseType
Source
<xs:attribute name="selectionActivatesItems" type="xs:NMTOKENS">
  <xs:annotation>
    <xs:documentation>NEW Selecting the current ListItem will enable the named items in this attribute's content. Prefixing any named with a hyphen (-) will reverse the above behaviour (i.e., the named items will be disabled). Unselecting the ListItem will reverse this behaviour. Prefixing the name with a tilde (~) will supress this reversal behavior.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ListItemBaseType / @selectionSelectsListItems
Namespace No namespace
Annotations
NEW
Selecting the current ListItem will select the named ListItems in this attribute's content.

Prefixing any named with a hyphen (-) will reverse the above behaviour.

Unselecting the ListItem will reverse this behaviour.
Prefixing the name with a tilde (~) will suppress this reversal behavior.
Type xs:NMTOKENS
Properties
content simple
Used by
Complex Type ListItemBaseType
Source
<xs:attribute name="selectionSelectsListItems" type="xs:NMTOKENS">
  <xs:annotation>
    <xs:documentation>NEW Selecting the current ListItem will select the named ListItems in this attribute's content. Prefixing any named with a hyphen (-) will reverse the above behaviour. Unselecting the ListItem will reverse this behaviour. Prefixing the name with a tilde (~) will suppress this reversal behavior.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ListItemBaseType / @selectionDeselectsSiblings
Namespace No namespace
Annotations
If the ancestor ListField has @multiselect = 'true', then selecting this ListItem should de-select all other ListItem (sibling) nodes except the current one.
Type xs:boolean
Properties
default false
Used by
Complex Type ListItemBaseType
Source
<xs:attribute default="false" name="selectionDeselectsSiblings" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>If the ancestor ListField has @multiselect = 'true', then selecting this ListItem should de-select all other ListItem (sibling) nodes except the current one.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ListItemBaseType / @omitWhenSelected
Namespace No namespace
Annotations
NEW: 

If @omitWhenSelected is set to true, then the question and its response(s) should not be present in a typical  report derived from this template.  This attribute is usually set to true when the answer choice is used to control form behavior (e.g., skip logic), or when the question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed or could not be assessed.  If @omitWhenSelectedset is false (default) then the question and its response(s) should appear in the report.  Added 11/29/15 to replace @reportAction
Type xs:boolean
Properties
default false
Used by
Complex Type ListItemBaseType
Source
<xs:attribute default="false" name="omitWhenSelected" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>NEW: If @omitWhenSelected is set to true, then the question and its response(s) should not be present in a typical report derived from this template. This attribute is usually set to true when the answer choice is used to control form behavior (e.g., skip logic), or when the question provides unhelpful "negative" information about actions that did not occur or were not performed, or things that were not observed or could not be assessed. If @omitWhenSelectedset is false (default) then the question and its response(s) should appear in the report. Added 11/29/15 to replace @reportAction</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ListItemBaseType / @associatedValue
Namespace No namespace
Annotations
A typed value (e.g., an integer) that is uniquely associated with a ListItem.  An example is the integer 10 for a ListItem with title that reads "10 o'clock".  Typically these values are set to be used in calculations or other algorithms.  In general, they can be treated something like a user-entered response on a the ListItemResponseField of a selected ListItem.

This field should not be used for terminologies or local codes.  The CodedValue type should be used for these kinds of metadata.  This field should also not be used other properties such as translations, usage, etc.

The data type shoudl be specified in @AssociatedValueType
Type xs:string
Properties
content simple
Used by
Complex Type ListItemBaseType
Source
<xs:attribute name="associatedValue" type="xs:string">
  <xs:annotation>
    <xs:documentation>A typed value (e.g., an integer) that is uniquely associated with a ListItem. An example is the integer 10 for a ListItem with title that reads "10 o'clock". Typically these values are set to be used in calculations or other algorithms. In general, they can be treated something like a user-entered response on a the ListItemResponseField of a selected ListItem. This field should not be used for terminologies or local codes. The CodedValue type should be used for these kinds of metadata. This field should also not be used other properties such as translations, usage, etc. The data type shoudl be specified in @AssociatedValueType</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ListItemBaseType / @associatedValueType
Namespace No namespace
Annotations
The data type of @AssociatedValue.  Default is string.
Type DataTypeAll_StypeEnum
Properties
content simple
Used by
Complex Type ListItemBaseType
Source
<xs:attribute name="associatedValueType" type="DataTypeAll_StypeEnum">
  <xs:annotation>
    <xs:documentation>The data type of @AssociatedValue. Default is string.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute LookupEndPointType / @includesHeaderRow
Namespace No namespace
Type xs:boolean
Properties
default false
Used by
Complex Type LookupEndPointType
Source
<xs:attribute name="includesHeaderRow" type="xs:boolean" default="false"/>
Attribute ListFieldType / @colTextDelimiter
Namespace No namespace
Annotations
Character in the DisplayText that separates the columns and rows in a single or multi-column list.
Type restriction of xs:string
Properties
default |
Facets
length 1
Used by
Complex Type ListFieldType
Source
<xs:attribute default="|" name="colTextDelimiter">
  <xs:annotation>
    <xs:documentation>Character in the DisplayText that separates the columns and rows in a single or multi-column list.</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:length value="1"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
Attribute ListFieldType / @numCols
Namespace No namespace
Annotations
Number of columns in the list
Type xs:unsignedByte
Properties
default 1
Used by
Complex Type ListFieldType
Source
<xs:attribute default="1" name="numCols" type="xs:unsignedByte">
  <xs:annotation>
    <xs:documentation>Number of columns in the list</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ListFieldType / @storedCol
Namespace No namespace
Annotations
Determines which column of the list is stored in a database.  This list is one-based.
Type xs:unsignedByte
Properties
default 1
Used by
Complex Type ListFieldType
Source
<xs:attribute default="1" name="storedCol" type="xs:unsignedByte">
  <xs:annotation>
    <xs:documentation>Determines which column of the list is stored in a database. This list is one-based.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ListFieldType / @minSelections
Namespace No namespace
Annotations
Minimum number of answer choices (list items) that must be selected by the user.  Default value is 1.

NEW: changed minimum value to 1.
Removed: If set to 0, then this question need not be answered by the user.
Type restriction of xs:unsignedShort
Properties
default 1
Facets
minInclusive 1
Used by
Complex Type ListFieldType
Source
<xs:attribute default="1" name="minSelections">
  <xs:annotation>
    <xs:documentation>Minimum number of answer choices (list items) that must be selected by the user. Default value is 1. NEW: changed minimum value to 1. Removed: If set to 0, then this question need not be answered by the user.</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:unsignedShort">
      <xs:minInclusive value="1"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
Attribute ListFieldType / @maxSelections
Namespace No namespace
Annotations
Maximum number of answer choices (list items) that can be selected by the user.  Must be greater than or equal to minSelections, and no larger than the total number of list items.  

A value of 0 indicates no limit to the number of selected list items (answers).  This effectively means that the question is multi-select. (Abbreviated as QM)

A value of 1 (the default) indicates that the question list is single-select.  (Abbreviated as QS)
Type xs:unsignedShort
Properties
default 1
Used by
Complex Type ListFieldType
Source
<xs:attribute default="1" name="maxSelections" type="xs:unsignedShort">
  <xs:annotation>
    <xs:documentation>Maximum number of answer choices (list items) that can be selected by the user. Must be greater than or equal to minSelections, and no larger than the total number of list items. A value of 0 indicates no limit to the number of selected list items (answers). This effectively means that the question is multi-select. (Abbreviated as QM) A value of 1 (the default) indicates that the question list is single-select. (Abbreviated as QS)</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ListFieldType / @ordered
Namespace No namespace
Annotations
If false, then the form implementation may change the order of items in the list.
Type xs:boolean
Properties
default true
Used by
Complex Type ListFieldType
Source
<xs:attribute default="true" name="ordered" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>If false, then the form implementation may change the order of items in the list.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ListFieldType / @defaultListItemDataType
Namespace No namespace
Annotations
Data type enumeration derived from W3C XML Schema.  This element is used only if the ListItems are all associated with coded values from a single coding system.
Type DataTypeAll_StypeEnum
Properties
content simple
Used by
Complex Type ListFieldType
Source
<xs:attribute name="defaultListItemDataType" type="DataTypeAll_StypeEnum">
  <xs:annotation>
    <xs:documentation>Data type enumeration derived from W3C XML Schema. This element is used only if the ListItems are all associated with coded values from a single coding system.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute QuestionItemBaseType / @readOnly
Namespace No namespace
Annotations
If @readOnly is set to true, the this field may not be edited by the user, and any default values set by template should be considered part of the stored data set responses, and transmitted by the SubmitForm transaction.
Type xs:boolean
Properties
default false
Used by
Complex Type QuestionItemBaseType
Source
<xs:attribute default="false" name="readOnly" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>If @readOnly is set to true, the this field may not be edited by the user, and any default values set by template should be considered part of the stored data set responses, and transmitted by the SubmitForm transaction.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute IfAttributes / @onlyIf
Namespace No namespace
Annotations
(reversible); If onlyIf is true, then the stipulated Boolean actions, which are executed when the If conditions evaluate to true,  are reversed when the conditions evaluate to false.

If onlyIf="true", the target items assume the chosen attribute values (e.g., selected, activated) ONLY when the action condition(s) are satisfied.  If the conditions are not satisfied, then all Boolean actions assume the opposite state (e.g., unselected, inactive).

Manually changing the attributes on the target item (upon which the actions are executed) will not affect any attributes in the controlling items.  It is possible to disable (enabled="false") the target item so that its attributes can only be be changed programmatically.

The default value is "false" indicating that the the rule runs when the "If" condition is "true." The attached action will not reverse (be undone) when the "If" condition evaluates to "false."
Type xs:boolean
Properties
default false
Used by
Attribute Group IfAttributes
Source
<xs:attribute name="onlyIf" type="xs:boolean" default="false">
  <xs:annotation>
    <xs:documentation>(reversible); If onlyIf is true, then the stipulated Boolean actions, which are executed when the If conditions evaluate to true, are reversed when the conditions evaluate to false. If onlyIf="true", the target items assume the chosen attribute values (e.g., selected, activated) ONLY when the action condition(s) are satisfied. If the conditions are not satisfied, then all Boolean actions assume the opposite state (e.g., unselected, inactive). Manually changing the attributes on the target item (upon which the actions are executed) will not affect any attributes in the controlling items. It is possible to disable (enabled="false") the target item so that its attributes can only be be changed programmatically. The default value is "false" indicating that the the rule runs when the "If" condition is "true." The attached action will not reverse (be undone) when the "If" condition evaluates to "false."</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute RuleAutoActivationType / @targetNameActivationList
Namespace No namespace
Annotations
This list contains the @names of Identified Items that will be automatically activated or deactivated when the @selectedItemSet evaluates to true.  

If a @name is prefixed with a hyphen (-), then the item will be deactivated when @selectedItemSet evaluates to true.  If @not = true, then the Boolean rule evaluation is negated, and thus the rule works in reverse.

If @onlyIf is true, then the above rule is reversed when @selectedItemSet evaluates to false.  In other words, named items will be deactivated, and hyphen-prefixed items will be activated when @selectedItemSet is false.
Type xs:NCName
Properties
content simple
Used by
Complex Type RuleAutoActivationType
Source
<xs:attribute name="targetNameActivationList" type="xs:NCName">
  <xs:annotation>
    <xs:documentation>This list contains the @names of Identified Items that will be automatically activated or deactivated when the @selectedItemSet evaluates to true. If a @name is prefixed with a hyphen (-), then the item will be deactivated when @selectedItemSet evaluates to true. If @not = true, then the Boolean rule evaluation is negated, and thus the rule works in reverse. If @onlyIf is true, then the above rule is reversed when @selectedItemSet evaluates to false. In other words, named items will be deactivated, and hyphen-prefixed items will be activated when @selectedItemSet is false.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute RuleAutoActivationType / @setVisibility
Namespace No namespace
Annotations
Make target items visible when activated and vice versa.  Default = false.  All descendants are affected in the same way.
Type toggleType
Properties
default true
Facets
enumeration true
enumeration false
enumeration toggle
Used by
Complex Type RuleAutoActivationType
Source
<xs:attribute default="true" name="setVisibility" type="toggleType">
  <xs:annotation>
    <xs:documentation>Make target items visible when activated and vice versa. Default = false. All descendants are affected in the same way.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute RuleAutoActivationType / @setEnabled
Namespace No namespace
Annotations
Make target items enabled when activated and vice versa.  Default = true.  All descendants are affected in the same way.
Type toggleType
Properties
default true
Facets
enumeration true
enumeration false
enumeration toggle
Used by
Complex Type RuleAutoActivationType
Source
<xs:attribute default="true" name="setEnabled" type="toggleType">
  <xs:annotation>
    <xs:documentation>Make target items enabled when activated and vice versa. Default = true. All descendants are affected in the same way.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute RuleAutoActivationType / @setExpanded
Namespace No namespace
Annotations
Expand target items when activated and collapse item when deactivated.  Default = false.  All descendants are affected in the same way.
Type toggleType
Properties
default true
Facets
enumeration true
enumeration false
enumeration toggle
Used by
Complex Type RuleAutoActivationType
Source
<xs:attribute default="true" name="setExpanded" type="toggleType">
  <xs:annotation>
    <xs:documentation>Expand target items when activated and collapse item when deactivated. Default = false. All descendants are affected in the same way.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute RuleAutoActivationType / @removeResponsesWhenDeactivated
Namespace No namespace
Annotations
Delete all user selections, responses and comments when the item is deactivated.  Applies to all descendant items as well.  User should be warned before deleting anything, with an option to preserve the responses in the disabled items.  Disabled item responses should not be saved with the form data.
Type xs:boolean
Properties
default false
Used by
Complex Type RuleAutoActivationType
Source
<xs:attribute default="false" name="removeResponsesWhenDeactivated" type="xs:boolean">
  <xs:annotation>
    <xs:documentation>Delete all user selections, responses and comments when the item is deactivated. Applies to all descendant items as well. User should be warned before deleting anything, with an option to preserve the responses in the disabled items. Disabled item responses should not be saved with the form data.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute RuleAutoSelectType / @targetNameSelectList
Namespace No namespace
Annotations
This list contains the @names of ListItems that will be automatically selected or deselected when the @selectedItemSet evaluates to true.  If a @name is prefixed with a hyphen (-), then the item will be deselected when @selectedItemSet evaluates to true.  If @not = true, then the Boolean rule evaluation is negated, and thus the rule works in reverse.

If @onlyIf is true, then the above rule is reversed when @selectedItemSet evaluates to false.  In other words, named items will be deselected, and hyphen-prefixed items will be selected when @selectedItemSet is false.
Type xs:NCName
Properties
content simple
Used by
Complex Type RuleAutoSelectType
Source
<xs:attribute name="targetNameSelectList" type="xs:NCName">
  <xs:annotation>
    <xs:documentation>This list contains the @names of ListItems that will be automatically selected or deselected when the @selectedItemSet evaluates to true. If a @name is prefixed with a hyphen (-), then the item will be deselected when @selectedItemSet evaluates to true. If @not = true, then the Boolean rule evaluation is negated, and thus the rule works in reverse. If @onlyIf is true, then the above rule is reversed when @selectedItemSet evaluates to false. In other words, named items will be deselected, and hyphen-prefixed items will be selected when @selectedItemSet is false.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute FormDesignType / @formTitle
Namespace No namespace
Annotations
NEW: human readable title for display when choosing forms. Added 4/27/16
Type xs:string
Properties
content simple
Used by
Complex Type FormDesignType
Source
<xs:attribute name="formTitle" type="xs:string">
  <xs:annotation>
    <xs:documentation>NEW: human readable title for display when choosing forms. Added 4/27/16</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute FormDesignType / @filename
Namespace No namespace
Annotations
NEW: filename to use when the current FormDesign instance is saved as a file.  
For forms containing responses, the filename may include the formInstanceVersionURI, 
but the naming convention may be use-case-specific.
Type xs:string
Properties
content simple
Used by
Complex Type FormDesignType
Source
<xs:attribute name="filename" type="xs:string">
  <xs:annotation>
    <xs:documentation>NEW: filename to use when the current FormDesign instance is saved as a file. For forms containing responses, the filename may include the formInstanceVersionURI, but the naming convention may be use-case-specific.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute FormDesignType / @basedOnURI
Namespace No namespace
Annotations
NEW: URI used to identify the form that that this FormDesign is based upon.  In most cases, this should be a standard form that is modified and/or extended by the current FormDesign.   
                     
The current template reuses the basedOn IDs whenever the question/answer/semantic context is identical to the original.
                     
5/11/17:  Relying on data element mapping may be a better and more flexible approach than @basedOnURI. In this way, forms could compare data elements to determine if they contain semantic matches, and this is supported better with a more robust code map section.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type FormDesignType
Source
<xs:attribute name="basedOnURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>NEW: URI used to identify the form that that this FormDesign is based upon. In most cases, this should be a standard form that is modified and/or extended by the current FormDesign. The current template reuses the basedOn IDs whenever the question/answer/semantic context is identical to the original. 5/11/17: Relying on data element mapping may be a better and more flexible approach than @basedOnURI. In this way, forms could compare data elements to determine if they contain semantic matches, and this is supported better with a more robust code map section.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute FormDesignType / @lineage
Namespace No namespace
Annotations
NEW: A text identifier that is used to group multiple versions of a single form.  The lineage is constant for all versions of a single kind of form.  

When appended to @baseURI, it can be used to retrieve all versions of one particular form.
Type xs:string
Properties
use required
Used by
Complex Type FormDesignType
Source
<xs:attribute name="lineage" type="xs:string" use="required">
  <xs:annotation>
    <xs:documentation>NEW: A text identifier that is used to group multiple versions of a single form. The lineage is constant for all versions of a single kind of form. When appended to @baseURI, it can be used to retrieve all versions of one particular form.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute FormDesignType / @version
Namespace No namespace
Annotations
NEW: @version contains the version text for the current form.  It is designed to be used in conjuction with @baseURI and @lineage.
Type xs:string
Properties
use required
Used by
Complex Type FormDesignType
Source
<xs:attribute name="version" type="xs:string" use="required">
  <xs:annotation>
    <xs:documentation>NEW: @version contains the version text for the current form. It is designed to be used in conjuction with @baseURI and @lineage.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute FormDesignType / @fullURI
Namespace No namespace
Annotations
NEW: The full URI that uniquely identifies the current form.   It is created by concatenating @baseURI + lineage + version.  Each of the componenets is separated by a single forward slash.
Type URI_Atype
Properties
use required
Facets
minLength 1
Used by
Complex Type FormDesignType
Source
<xs:attribute name="fullURI" type="URI_Atype" use="required">
  <xs:annotation>
    <xs:documentation>NEW: The full URI that uniquely identifies the current form. It is created by concatenating @baseURI + lineage + version. Each of the componenets is separated by a single forward slash.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute FormDesignType / @prevVersionURI
Namespace No namespace
Annotations
NEW: The full URI used to identify the form that is the immediate previous version of the current FormDesign
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type FormDesignType
Source
<xs:attribute name="prevVersionURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>NEW: The full URI used to identify the form that is the immediate previous version of the current FormDesign</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute FormDesignType / @formInstanceURI
Namespace No namespace
Annotations
NEW: Unique URI used to identify a unique instance of a form.  Used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI does not change for each edit session of a form instance.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type FormDesignType
Source
<xs:attribute name="formInstanceURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>NEW: Unique URI used to identify a unique instance of a form. Used for tracking form responses across time and across multiple episodes of editing by end-users. This URI does not change for each edit session of a form instance.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute FormDesignType / @formInstanceVersionURI
Namespace No namespace
Annotations
NEW: Unique URI used to identify a unique instance of a form's saved responses.  It is used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit/save session of a form instance.  It may be e.g., a new GUID, or a repeat of the formInstanceID followed by a version number.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type FormDesignType
Source
<xs:attribute name="formInstanceVersionURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>NEW: Unique URI used to identify a unique instance of a form's saved responses. It is used for tracking form responses across time and across multiple episodes of editing by end-users. This URI must change for each edit/save session of a form instance. It may be e.g., a new GUID, or a repeat of the formInstanceID followed by a version number.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute FormDesignType / @formPreviousInstanceVersionURI
Namespace No namespace
Annotations
NEW: Unique URI used to identify the immediate previous instance of a form containing responses.  This is the @formInstanceVersionURI that represents the instance of the form that the user opened up before beginning a new cycle of edit/save.  This attribute is used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit session of a form instance.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type FormDesignType
Source
<xs:attribute name="formPreviousInstanceVersionURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>NEW: Unique URI used to identify the immediate previous instance of a form containing responses. This is the @formInstanceVersionURI that represents the instance of the form that the user opened up before beginning a new cycle of edit/save. This attribute is used for tracking form responses across time and across multiple episodes of editing by end-users. This URI must change for each edit session of a form instance.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute InjectFormType / @pkgID
Namespace No namespace
Annotations
This ID represents the Package that contains the form to be injected.  The package may contain an empty form or a form containing responses.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type InjectFormType
Source
<xs:attribute name="pkgID" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>This ID represents the Package that contains the form to be injected. The package may contain an empty form or a form containing responses.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute InjectFormType / @pkgInstanceURI
Namespace No namespace
Annotations
NEW: Unique URI used to identify a unique instance of a package.  Used for tracking form responses across time and across multiple episodes of editing by end-users.  This URI does not change for each edit session of a package instance.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type InjectFormType
Source
<xs:attribute name="pkgInstanceURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>NEW: Unique URI used to identify a unique instance of a package. Used for tracking form responses across time and across multiple episodes of editing by end-users. This URI does not change for each edit session of a package instance.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute InjectFormType / @pkgInstanceVersionURI
Namespace No namespace
Annotations
NEW: Unique URI used to identify a unique instance of a package's saved responses.  It is used for tracking package responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit/save session of a package instance.  It may be e.g., a new GUID, or a repeat of the pkgInstanceID followed by a version number.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type InjectFormType
Source
<xs:attribute name="pkgInstanceVersionURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>NEW: Unique URI used to identify a unique instance of a package's saved responses. It is used for tracking package responses across time and across multiple episodes of editing by end-users. This URI must change for each edit/save session of a package instance. It may be e.g., a new GUID, or a repeat of the pkgInstanceID followed by a version number.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute InjectFormType / @pkgBaseURI
Namespace No namespace
Annotations
DRAFT: The baseURI of the package, whihc indicates the home source of the package.  The formManagerURP + pkgBaseURI + pkgID are concatenated to retrieve an empty form.  formManagerURP + pkgBaseURI + pkgInstanceVersionURI are concatenated to retrieve a specific version of a populated form.  formManagerURP + pkgBaseURI + pkgInstanceURI are concatenated to retrieve the latest instance of a populated form.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type InjectFormType
Source
<xs:attribute name="pkgBaseURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>DRAFT: The baseURI of the package, whihc indicates the home source of the package. The formManagerURP + pkgBaseURI + pkgID are concatenated to retrieve an empty form. formManagerURP + pkgBaseURI + pkgInstanceVersionURI are concatenated to retrieve a specific version of a populated form. formManagerURP + pkgBaseURI + pkgInstanceURI are concatenated to retrieve the latest instance of a populated form.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute InjectFormType / @pkgFullURI
Namespace No namespace
Annotations
DRAFT: The injected package is retrieved form formManagerURI + "/" + pkgFullURI
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type InjectFormType
Source
<xs:attribute name="pkgFullURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>DRAFT: The injected package is retrieved form formManagerURI + "/" + pkgFullURI</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute InjectFormType / @pkgManagerURI
Namespace No namespace
Annotations
The server from which the injected package will be retrieved.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type InjectFormType
Source
<xs:attribute name="pkgManagerURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>The server from which the injected package will be retrieved.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute InjectFormType / @rootItemID
Namespace No namespace
Annotations
The rootItemID is the ID of the form part that will be injected.  If empty, then the entre form should be injected as the FormDesign element node.  If not empty, it must point to a valid Section or Question.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type InjectFormType
Source
<xs:attribute name="rootItemID" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>The rootItemID is the ID of the form part that will be injected. If empty, then the entre form should be injected as the FormDesign element node. If not empty, it must point to a valid Section or Question.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute InjectFormType / @X_injectionID
Namespace No namespace
Annotations
Unique ID (GUID) to distinguish multiple instances of the same injected node.
Type xs:string
Properties
content simple
Used by
Complex Type InjectFormType
Source
<xs:attribute name="X_injectionID" type="xs:string">
  <xs:annotation>
    <xs:documentation>Unique ID (GUID) to distinguish multiple instances of the same injected node.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute ActInjectType / @targetNames
Namespace No namespace
Annotations
The names of the parent items that will have the form (or form section) injected as child node(s).
Type xs:NMTOKENS
Properties
content simple
Used by
Complex Type ActInjectType
Source
<xs:attribute name="targetNames" type="xs:NMTOKENS">
  <xs:annotation>
    <xs:documentation>The names of the parent items that will have the form (or form section) injected as child node(s).</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DataElementType / @title
Namespace No namespace
Annotations
NEW: human readable title for display when choosing forms. Added 4/27/16
Type xs:string
Properties
content simple
Used by
Complex Type DataElementType
Source
<xs:attribute name="title" type="xs:string">
  <xs:annotation>
    <xs:documentation>NEW: human readable title for display when choosing forms. Added 4/27/16</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DataElementType / @filename
Namespace No namespace
Annotations
NEW: filename to use when the current DE instance is saved as a file.  
For DEs containing responses, the filename may include the deInstanceVersionURI, 
but the naming convention may be use-case-specific.
Type xs:string
Properties
content simple
Used by
Complex Type DataElementType
Source
<xs:attribute name="filename" type="xs:string">
  <xs:annotation>
    <xs:documentation>NEW: filename to use when the current DE instance is saved as a file. For DEs containing responses, the filename may include the deInstanceVersionURI, but the naming convention may be use-case-specific.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DataElementType / @basedOnURI
Namespace No namespace
Annotations
NEW: URI used to identify the DE that that this DE is based upon.  In most cases, this should be a standard form that is modified and/or extended by the current DE.   
                     
The current template reuses the basedOn IDs whenever the question/answer/semantic context is identical to the original.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type DataElementType
Source
<xs:attribute name="basedOnURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>NEW: URI used to identify the DE that that this DE is based upon. In most cases, this should be a standard form that is modified and/or extended by the current DE. The current template reuses the basedOn IDs whenever the question/answer/semantic context is identical to the original.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DataElementType / @lineage
Namespace No namespace
Annotations
NEW: A text identifier that is used to group multiple versions of a single DE.  The lineage is constant for all versions of a single kind of DE.  

When appended to @baseURI, it can be used to retrieve all versions of one particular DE.
Type xs:string
Properties
use required
Used by
Complex Type DataElementType
Source
<xs:attribute name="lineage" type="xs:string" use="required">
  <xs:annotation>
    <xs:documentation>NEW: A text identifier that is used to group multiple versions of a single DE. The lineage is constant for all versions of a single kind of DE. When appended to @baseURI, it can be used to retrieve all versions of one particular DE.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DataElementType / @version
Namespace No namespace
Annotations
NEW: @version contains the version text for the current DE.  It is designed to be used in conjuction with @baseURI and @lineage.
Type xs:string
Properties
use required
Used by
Complex Type DataElementType
Source
<xs:attribute name="version" type="xs:string" use="required">
  <xs:annotation>
    <xs:documentation>NEW: @version contains the version text for the current DE. It is designed to be used in conjuction with @baseURI and @lineage.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DataElementType / @fullURI
Namespace No namespace
Annotations
NEW: The full URI that uniquely identifies the current DE.   It is created by concatenating @baseURI + lineage + version.  Each of the componenets is separated by a single forward slash.
Type URI_Atype
Properties
use required
Facets
minLength 1
Used by
Complex Type DataElementType
Source
<xs:attribute name="fullURI" type="URI_Atype" use="required">
  <xs:annotation>
    <xs:documentation>NEW: The full URI that uniquely identifies the current DE. It is created by concatenating @baseURI + lineage + version. Each of the componenets is separated by a single forward slash.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DataElementType / @prevVersionURI
Namespace No namespace
Annotations
NEW: The full URI used to identify the DE that is the immediate previous version of the current DE
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type DataElementType
Source
<xs:attribute name="prevVersionURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>NEW: The full URI used to identify the DE that is the immediate previous version of the current DE</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DataElementType / @instanceURI
Namespace No namespace
Annotations
NEW: Unique URI used to identify a unique instance of a DE.  Used for tracking DE responses across time and across multiple episodes of editing by end-users.  This URI does not change for each edit session of a DE instance.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type DataElementType
Source
<xs:attribute name="instanceURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>NEW: Unique URI used to identify a unique instance of a DE. Used for tracking DE responses across time and across multiple episodes of editing by end-users. This URI does not change for each edit session of a DE instance.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DataElementType / @instanceVersionURI
Namespace No namespace
Annotations
NEW: Unique URI used to identify a unique instance of a DE's saved responses.  It is used for tracking DE responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit/save session of a DE instance.  It may be e.g., a new GUID, or a repeat of the deInstanceID followed by a version number.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type DataElementType
Source
<xs:attribute name="instanceVersionURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>NEW: Unique URI used to identify a unique instance of a DE's saved responses. It is used for tracking DE responses across time and across multiple episodes of editing by end-users. This URI must change for each edit/save session of a DE instance. It may be e.g., a new GUID, or a repeat of the deInstanceID followed by a version number.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Attribute DataElementType / @previousInstanceVersionURI
Namespace No namespace
Annotations
NEW: Unique URI used to identify the immediate previous instance of a de containing responses.  This is the @deInstanceVersionURI that represents the instance of the form that the user opened up before beginning a new cycle of edit/save.  This attribute is used for tracking de responses across time and across multiple episodes of editing by end-users.  This URI must change for each edit session of a de instance.
Type URI_Atype
Properties
content simple
Facets
minLength 1
Used by
Complex Type DataElementType
Source
<xs:attribute name="previousInstanceVersionURI" type="URI_Atype">
  <xs:annotation>
    <xs:documentation>NEW: Unique URI used to identify the immediate previous instance of a de containing responses. This is the @deInstanceVersionURI that represents the instance of the form that the user opened up before beginning a new cycle of edit/save. This attribute is used for tracking de responses across time and across multiple episodes of editing by end-users. This URI must change for each edit session of a de instance.</xs:documentation>
  </xs:annotation>
</xs:attribute>
Element Group ChildElementsGroup
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCFormDesign_xsd.tmp#ChildElementsGroup_Section SDCFormDesign_xsd.tmp#ChildElementsGroup_Question SDCFormDesign_xsd.tmp#ChildElementsGroup_DisplayedItem SDCFormDesign_xsd.tmp#ChildElementsGroup_ButtonAction SDCFormDesign_xsd.tmp#ChildElementsGroup_InjectForm
Used by
Model
Children ButtonAction, DisplayedItem, InjectForm, Question, Section
Source
<xs:group name="ChildElementsGroup">
  <xs:choice>
    <xs:annotation>
      <xs:documentation>DisplayedType choices</xs:documentation>
    </xs:annotation>
    <xs:element minOccurs="0" name="Section" type="SectionItemType">
      <xs:annotation>
        <xs:documentation>A Section is a grouper for other types of objects.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element minOccurs="0" name="Question" type="QuestionItemType">
      <xs:annotation>
        <xs:documentation>A Question may take 3 basic forms: QS: single-select answer response QM: multi-select - more than one answer may be selected QF: fill-in response; no answer choices are present for selection QS and QM are associated with a ListField of answer choices. The ListField may contain a List with ListItems (expicitly stated answer choices), or it may contain a LookupEndpoint field that populates the list from a web service. See @maxSelections on ListField for information on distinguishing QS from QM. QF is identified by the presence of a ResponseField child, which describes how the fill-in response should be recorded.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element minOccurs="0" name="DisplayedItem" type="DisplayedType">
      <xs:annotation>
        <xs:documentation>The DisplayedItem contains title, Blob (Binary Large Object), and/or Link content, and may also include Contacts and CodedValues that relate to the Note/Blob/Link objects. DisplayedItems may be interspersed with other MainItems or ListItem nodes. The parent items may be Section, Question, and ListItem. However, DisplayedItems are not "attached" to any specific item Section, Question, or ListItem. Instead they are free-floating items that can appear anywhere on a form, such as between ListItem nodes.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element minOccurs="0" name="ButtonAction" type="ButtonItemType">
      <xs:annotation>
        <xs:documentation>A Button is a visible area that can be selected ("clicked") to trigger event code to perform an action. It is ordinarily implemented with an image that looks like a rectangular button object, but a button can look like anything.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element minOccurs="0" name="InjectForm" type="InjectFormType">
      <xs:annotation>
        <xs:documentation>InjectForm is a link to a form (or portion of a form) that is imported into the current form at specific sites.</xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:choice>
</xs:group>
Attribute Group SelectionDependencyAttributes
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCDataTypes_xsd.tmp#not SDCDataTypes_xsd.tmp#BoolAttributes_boolOp SDCDataTypes_xsd.tmp#BoolAttributes SDCFormDesign_xsd.tmp#SelectionDependencyAttributes_selectedItemSet
Used by
Attributes
QName Type Default Use Annotation
boolOp restriction of xs:string AND optional
Boolean operator that joins together the truth values from each object in the Predicate.
not xs:boolean optional
If @not="true" then the logical value of the conditions of the parent element is negated; true becomes false and false becomes true.
selectedItemSet xs:NMTOKENS required
This list contains names of ListItems (answer choices) that are watched for being selected or unselected.

If a ListItem appears in this list, then it evaluates to true when it is selected.  If a ListItem is prefixed with a hyphen (-), then it evaluates to true when unselected.  These Boolean values, derived from each named ListItem in the list, are ANDed together (by default) to produce a return value of true or false.  The default Boolean operator (AND) may be changed using @boolOp.  If @not = true, then the Boolean result is logically negated.

Renamed from: ListItemSelections
Source
<xs:attributeGroup name="SelectionDependencyAttributes">
  <xs:attributeGroup ref="BoolAttributes"/>
  <xs:attribute use="required" name="selectedItemSet" type="xs:NMTOKENS">
    <xs:annotation>
      <xs:documentation>This list contains names of ListItems (answer choices) that are watched for being selected or unselected. If a ListItem appears in this list, then it evaluates to true when it is selected. If a ListItem is prefixed with a hyphen (-), then it evaluates to true when unselected. These Boolean values, derived from each named ListItem in the list, are ANDed together (by default) to produce a return value of true or false. The default Boolean operator (AND) may be changed using @boolOp. If @not = true, then the Boolean result is logically negated. Renamed from: ListItemSelections</xs:documentation>
    </xs:annotation>
  </xs:attribute>
</xs:attributeGroup>
Attribute Group ResponseReportingAttributes
Namespace urn:ihe:qrph:sdc:2016
Annotations
Used to extend identified items (Section, Question, ListItem) for nested/repeating responses in reports and data transmissions.
Diagram
Diagram SDCFormDesign_xsd.tmp#ResponseReportingAttributes_repeat SDCFormDesign_xsd.tmp#ResponseReportingAttributes_instanceGUID SDCFormDesign_xsd.tmp#ResponseReportingAttributes_parentGUID
Used by
Attributes
QName Type Default Use Annotation
instanceGUID xs:string optional
A globally unique string assigned to a repeating Question or  Section, Injected Form, or any selected answer ListItem. This attribute's value  is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.
parentGUID xs:string optional
A globally unique string assigned from a Section, Question,  ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.
repeat xs:positiveInteger 1 optional
For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.
Source
<xs:attributeGroup name="ResponseReportingAttributes">
  <xs:annotation>
    <xs:documentation>Used to extend identified items (Section, Question, ListItem) for nested/repeating responses in reports and data transmissions.</xs:documentation>
  </xs:annotation>
  <xs:attribute default="1" name="repeat" type="xs:positiveInteger">
    <xs:annotation>
      <xs:documentation>For repeating questions and sections, @repeat represents the repeat ordinality, starting with 1.</xs:documentation>
    </xs:annotation>
  </xs:attribute>
  <xs:attribute name="instanceGUID" type="xs:string">
    <xs:annotation>
      <xs:documentation>A globally unique string assigned to a repeating Question or Section, Injected Form, or any selected answer ListItem. This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among sections or questions, including those that are allowed to repeat and nest deeply.</xs:documentation>
    </xs:annotation>
  </xs:attribute>
  <xs:attribute name="parentGUID" type="xs:string">
    <xs:annotation>
      <xs:documentation>A globally unique string assigned from a Section, Question, ListItem or InjectedForm to the ID of its parent node (S, Q, LI or IF). This attribute's value is assigned at the time that answers are entered into a form, to unambiguously identify a single instance among the above objects, including those that are allowed to repeat and nest deeply.</xs:documentation>
    </xs:annotation>
  </xs:attribute>
</xs:attributeGroup>
Attribute Group ResponseAttributes
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCFormDesign_xsd.tmp#ResponseAttributes_responseTypeEnum SDCFormDesign_xsd.tmp#ResponseAttributes_responseStatusEnum
Used by
Attributes
QName Type Use Annotation
responseStatusEnum restriction of xs:string optional
Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.
responseTypeEnum restriction of xs:string optional
Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.
Source
<xs:attributeGroup name="ResponseAttributes">
  <xs:attribute name="responseTypeEnum">
    <xs:annotation>
      <xs:documentation>Allows the form filler to specify whether the current response is the initial response, or records the type of change made since the initial response was reported.</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:enumeration value="initial"/>
        <xs:enumeration value="correction"/>
        <xs:enumeration value="update"/>
        <xs:enumeration value="addition"/>
        <xs:enumeration value="deletion"/>
        <xs:enumeration value="multiple_changes"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>
  <xs:attribute name="responseStatusEnum">
    <xs:annotation>
      <xs:documentation>Expresses the finality of the response, e.g., draft, pending, tentative, final and retracted.</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:enumeration value="draft"/>
        <xs:enumeration value="pending"/>
        <xs:enumeration value="preliminary"/>
        <xs:enumeration value="final"/>
        <xs:enumeration value="retracted"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>
</xs:attributeGroup>
Attribute Group IfAttributes
Namespace urn:ihe:qrph:sdc:2016
Diagram
Diagram SDCFormDesign_xsd.tmp#IfAttributes_onlyIf
Used by
Attributes
QName Type Default Use Annotation
onlyIf xs:boolean false optional
(reversible); If onlyIf is true, then the stipulated Boolean actions, which are executed when the If conditions evaluate to true,  are reversed when the conditions evaluate to false.

If onlyIf="true", the target items assume the chosen attribute values (e.g., selected, activated) ONLY when the action condition(s) are satisfied.  If the conditions are not satisfied, then all Boolean actions assume the opposite state (e.g., unselected, inactive).

Manually changing the attributes on the target item (upon which the actions are executed) will not affect any attributes in the controlling items.  It is possible to disable (enabled="false") the target item so that its attributes can only be be changed programmatically.

The default value is "false" indicating that the the rule runs when the "If" condition is "true." The attached action will not reverse (be undone) when the "If" condition evaluates to "false."
Source
<xs:attributeGroup name="IfAttributes">
  <xs:attribute name="onlyIf" type="xs:boolean" default="false">
    <xs:annotation>
      <xs:documentation>(reversible); If onlyIf is true, then the stipulated Boolean actions, which are executed when the If conditions evaluate to true, are reversed when the conditions evaluate to false. If onlyIf="true", the target items assume the chosen attribute values (e.g., selected, activated) ONLY when the action condition(s) are satisfied. If the conditions are not satisfied, then all Boolean actions assume the opposite state (e.g., unselected, inactive). Manually changing the attributes on the target item (upon which the actions are executed) will not affect any attributes in the controlling items. It is possible to disable (enabled="false") the target item so that its attributes can only be be changed programmatically. The default value is "false" indicating that the the rule runs when the "If" condition is "true." The attached action will not reverse (be undone) when the "If" condition evaluates to "false."</xs:documentation>
    </xs:annotation>
  </xs:attribute>
</xs:attributeGroup>